167
Crimson ® 3.1 LP1046-A | November 2018 Funktionsblock-Referenzhandbuch

Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

Crimson® 3.1

LP1046-A | November 2018

Funktionsblock-Referenzhandbuch

Page 2: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

COPYRIGHT

©2003-2018 Red Lion Controls, Inc.. Alle Rechte vorbehalten. Red Lion, das Red Lion-Logo, Crimson und das Crimson-Logo sind eingetragene Marken von Red Lion Controls, Inc.. Alle anderen Firmen- und Produktnamen sind Marken der jeweiligen Eigentümer.

Red Lion Controls, Inc..

20 Willow Springs Circle

York, PA 17406

KONTAKTINFORMATIONEN:In den USA: +1 (877) 432-9908

Außerhalb der USA: +1 (717) 767-6511

Website: www.redlion.net

E-Mail: [email protected]

Page 3: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 INHALTSVERZEICHNIS

ZEICHNUNGS-NR. LP1046-A

Crimson® 3.1 Funktionsblock-Referenzhandbuch - i -

Inhaltsverzeichnis

Vorwort   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  vHaftungsausschluss  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  v

Zweck   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  v

Zielgruppe   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  v

Markenhinweise   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  v

Dokumentverlauf und zugehörige Veröffentlichungen   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   vi

Veröffentlichungsverlauf   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   vi

Zugehörige Dokumente   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   vi

Zusätzliche Produktinformationen   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   vi

Kommentare zum Dokument  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   vi

Einführung   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1Systemanforderungen  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1

Überprüfen auf Updates  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1

Hilfe und Unterstützung   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1

Technischer Support  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1

Online‐Foren   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2

Funktionsblöcke und Operatoren   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3ABS   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4

ACOS ACOSL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  5

+ ADD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6

ALARM_A  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  7

ALARM_M   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  9

AND ANDN &  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  11

AND_MASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  13

ANY_TO_BOOL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  14

ANY_TO_DINT / ANY_TO_UINT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15

ANY_TO_INT / ANY_TO UINT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  16

ANY_TO_LINT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  17

ANY_TO_LREAL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  18

ANY_TO_REAL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  19

ANY_TO_SINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  20

ANY_TO_STRING   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  21

ANY_TO_TIME  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  22

ArrayToString / ArrayToStringU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  23

ASCII   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  24

ASIN / ASINL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25

ATAN / ATANL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  26

Page 4: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

INHALTSVERZEICHNIS ÜBERARBEITET 24.11.2018ZEICHNUNGS-NR. LP1046-A

- ii - Crimson® 3.1 Funktionsblock-Referenzhandbuch

ATOH  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27

BCD_TO_BIN   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28

BIN_TO_BCD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  29

BLINK   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  30

BLINKA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  31

CHAR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  33

CMP   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  34

CONCAT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  35

COS / COSL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  36

CRC16  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  37

CTD / CTDr   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  38

CTU / CTUr  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  39

CTUD / CTUDr   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  40

DELETE   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  42

/ DIV   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  43

DTAt   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  44

DTCurDate   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  46

DTCurDateTime   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  47

DTCurTime   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  48

DTDay  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  49

DTFormat  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  50

DTHour  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  51

DTMin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  52

DTMonth   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  53

DTMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  54

DTSec   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  55

DTYear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  56

= EQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  57

EXP / EXPL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  58

EXPT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  59

F_TRIG   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  60

FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  61

FIND   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  63

FLIPFLOP  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  64

>= GE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  65

> GT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  66

HIBYTE   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  67

HIWORD  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  68

HTOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  69

INSERT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  70

LE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  71

Page 5: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 INHALTSVERZEICHNIS

ZEICHNUNGS-NR. LP1046-A

Crimson® 3.1 Funktionsblock-Referenzhandbuch - iii -

LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  72

LEN   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  73

LIFO  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  74

LIMIT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  76

LN   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  78

LoadString   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  79

LOBYTE   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  80

LOG  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  81

LOWORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  82

< LT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  83

MAKEDWORD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  84

MAKEWORD  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  85

MAX   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86

MBSHIFT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  87

MID  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  88

MIN    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  89

MLEN   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  90

MOD / MODR / MODLR   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91

* MUL    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  92

MUX4   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  93

MUX8   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  95

<> NE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  97

NEG ‐  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  98

NOT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  99

NOT_MASK  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  101

NUM_TO_STRING   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  102

ODD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  103

OR / ORN   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  104

OR_MASK  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  106

PACK8  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  107

PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  108

PLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  112

POW ** POWL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  113

QOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  114

R   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  115

R_TRIG   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  116

REPLACE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  117

RIGHT   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  118

ROL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  119

ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  120

ROR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  121

Page 6: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

INHALTSVERZEICHNIS ÜBERARBEITET 24.11.2018ZEICHNUNGS-NR. LP1046-A

- iv - Crimson® 3.1 Funktionsblock-Referenzhandbuch

RORb ROR_SINT ROR_USINT ROR_BYTE  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  122

RORw ROR_INT ROR_UINT ROR_WORD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  123

RS   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  124

S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  126

ScaleLin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  127

SEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  129

SEMA   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  130

SETBIT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  131

SetWithin  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  132

SHL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133

SHR  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  134

SIN SINL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  136

SQRT SQRTL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  137

SR   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  138

StringTable  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  139

StringToArray StringToArrayU  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  140

‐ SUB    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  141

TAN TANL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  142

TESTBIT  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  143

TMD   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  144

TMU TMUsec  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  146

TOF TOFR   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  148

TON  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  150

TP TPR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  152

TRUNC TRUNCL   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  154

UNPACK8   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  155

UseDegrees   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  157

XOR XORN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  158

XOR_MASK  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  159

Page 7: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 VORWORT

ZEICHNUNGS-NR. LP1046-A HAFTUNGSAUSSCHLUSS

Crimson® 3.1 Funktionsblock-Referenzhandbuch - v -

Vorwort

Haftungsausschluss

Obwohl alle Anstrengungen unternommen wurden, um sicherzustellen, dass dieses Dokument zum Zeitpunkt der Veröffentlichung vollständig und exakt ist, sind Änderungen an den darin enthaltenen Informationen vorbehalten. Red Lion Controls, Inc. ist nicht verantwortlich für Ergänzungen oder Änderungen des Originaldokuments. Industrielle Netzwerke variieren stark in der Konfiguration, Topologie und den Verkehrsbedingungen. Dieses Dokument ist nur als allgemeine Anleitung gedacht. Es wurde nicht auf alle möglichen Anwendungen getestet und es kann in manchen Situationen nicht vollständig oder genau sein.

Benutzer dieses Dokuments sind aufgefordert, die Warnungen und Vorsichtsmaßnahmen im gesamten Dokument zu beachten.

Zweck

Dieses Handbuch enthält spezifische Informationen zu den verschiedenen Funktionsblöcken und Operatoren, die beim Schreiben von Steuerungsprogrammen in der Steuerkategorie in Crimson® zur Verfügung stehen.

Zielgruppe

Dieses Handbuch ist für Mitarbeiter gedacht, die für die Konfiguration und Inbetriebnahme von Crimson-Geräten für die Verwendung in Visualisierungs-, Überwachungs- und Steuerungsanwendungen verantwortlich sind.

Markenhinweise

Red Lion Controls, Inc. erkennt das Eigentum der folgenden in diesem Dokument verwendeten geschützten Begriffe an:

• Microsoft®, Windows® und Windows 7™ sind eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern.

Alle anderen Firmen- und Produktnamen sind Marken der jeweiligen Eigentümer.

Page 8: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

VORWORT ÜBERARBEITET 24.11.2018DOKUMENTVERLAUF UND ZUGEHÖRIGE VERÖFFENTLICHUNGEN ZEICHNUNGS-NR. LP1046-A

- vi - Crimson® 3.1 Funktionsblock-Referenzhandbuch

Dokumentverlauf und zugehörige Veröffentlichungen

Die Versionen dieses Dokuments auf Papier und elektronischen Medien werden nur bei der Veröffentlichung von Hauptversionen revidiert und enthalten deshalb möglicherweise nicht die neuesten Produktinformationen. Gegebenenfalls werden Dokumentationshinweise oder Produktdatenblätter mit den neuen Informationen oder Dokumentänderungen zwischen Hauptversionen zur Verfügung gestellt.

Die neueste Online-Version dieses Dokuments kann über die Red Lion-Website unter http://www.redlion.net/search/node/crimson%203.1%20language%3Aen%2Cund aufgerufen werden.

Veröffentlichungsverlauf

Im Folgenden finden Sie den aktuellen Veröffentlichungsverlauf dieses Dokuments.

Zugehörige Dokumente

Verfügbare Dokumente in Bezug auf dieses Produkt finden Sie unter: http://www.redlion.net/search/node/crimson%203.1%20language%3Aen%2Cund.

Zusätzliche Produktinformationen

Zusätzliche Produktinformationen können von Ihrem lokalen Vertriebshändler oder von Red Lion über die auf der Innenseite der Vorderabdeckung aufgelisteten Telefonnummern und/oder E-Mail-Adressen angefordert werden.

Kommentare zum Dokument

Red Lion begrüßt alle Kommentare, die uns helfen, die Qualität der Dokumentation zu verbessern. Benutzer können Kommentare über den Red Lion-Kundendienst abgeben. Senden Sie uns einfach eine E-Mail an [email protected].

Ausgabe/Revision Veröffentlichungsdatum Beschreibung des Inhalts

24.11.2018 November 2018 Erstversion des Crimson® 3.1 Funktionsblock-Referenzhandbuchs

Page 9: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 EINFÜHRUNG

ZEICHNUNGS-NR. LP1046-A SYSTEMANFORDERUNGEN

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 1 -

Kapitel 1 Einführung

Crimson® 3.1 ist die neueste Version der weithin anerkannten Crimson-Gerätekonfigurationssoftware von Red Lion. Dieses Funktionsblock-Referenzhandbuch ergänzt das Crimson® 3.1 Benutzerhandbuch und das Crimson 3.1-Referenzhandbuch durch die Beschreibung der verschiedenen Funktionen und Vorgänge, die beim Schreiben von IEC 61131-3-Steuerungsprogrammen in der Steuerkategorie von Crimson 3.1 zur Verfügung stehen. Für jedes Element werden Informationen zu den Eingängen, dem Ausgang und zur Bedienung des Elements bereitgestellt.

1.1 Systemanforderungen

Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt. Die Speicheranforderungen sind gering, und auf allen Systemen, die die Mindestsystemanforderungen für das Betriebssystem erfüllen, kann Crimson 3.1 ausgeführt werden. Für die Installation sind etwa 600 MB freier Speicherplatz erforderlich, und Sie sollten idealerweise einen Bildschirm mit ausreichender Auflösung haben, um die Bearbeitung von Bildschirmseiten ohne Scrollen zu ermöglichen.

1.2 Überprüfen auf Updates

Wenn Sie über eine Internetverbindung verfügen, können Sie mit dem Befehl „Auf Update überprüfen“ im Menü „Hilfe“ auf der Red Lion-Website nach einer neuen Version von Crimson 3.1 suchen. Wenn eine neuere Version als die von Ihnen verwendete Version gefunden wird, werden Sie von Crimson gefragt, ob Sie das Upgrade herunterladen und die Software automatisch aktualisieren möchten. Sie können das Upgrade auch manuell von der Red Lion-Website herunterladen, indem Sie die Seite „Downloads“ im Bereich „Support“ aufrufen.

1.3 Hilfe und Unterstützung

Wenn Sie auf ein Problem stoßen oder Hilfe benötigen, sind die folgenden Ressourcen verfügbar.

1.3.1 Technischer Support

Technische Unterstützung erhalten Sie im Internet unter:

www.redlion.net/support.html

Alternativ können Sie uns per E-Mail unter folgender Adresse kontaktieren:

[email protected]

Sie können sich auch telefonisch unter +1 (717) 767-6511 an das HMI-Support-Team wenden.

Page 10: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

EINFÜHRUNG ÜBERARBEITET 24.11.2018HILFE UND UNTERSTÜTZUNG ZEICHNUNGS-NR. LP1046-A

- 2 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

1.3.2 Online‐Foren

Es gibt eine Reihe von Online-Foren zur Unterstützung von Benutzern von SPS und HMIs. Red Lion empfiehlt das Q&A-Forum unter http://www.plctalk.net/qanda/. Das Diskussionsforum ist mit vielen hilfsbereiten Experten bevölkert, und die technischen Support-Mitarbeiter von Red Lion überwachen dieses Forum auf Fragen zu unseren Produkten.

Page 11: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 3 -

Kapitel 2 Funktionsblöcke und Operatoren

In diesem Kapitel werden die verschiedenen Funktionsblöcke und Operatoren beschrieben, die beim Schreiben von IEC 61131-3-Steuerungsprogrammen in der Steuerkategorie von Crimson 3.1 zur Verfügung stehen. Für jedes Element werden Informationen zu den Eingängen, dem Ausgang und zur Bedienung des Elements bereitgestellt.

Page 12: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ABS ZEICHNUNGS-NR. LP1046-A

- 4 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.1 ABS

Funktion – Gibt den absoluten Wert des Eingangs zurück.

EingängeIN : ANY Wert.

AusgängeQ : ANY Ergebnis: Absoluter Wert von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ABS (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ABSST Q (* Q ist: ABS (IN) *)

Siehe auchTRUNC LOG POW SQRT

Page 13: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ACOS ACOSL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 5 -

2.2 ACOS ACOSL

Funktion – Berechnet einen Arcuscosinus.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Arcuscosinus von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ACOS (IN);

FBD‐Sprache 

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ACOSST Q (* Q ist: ACOS (IN) *)

Siehe auchSIN COS TAN ASIN ATAN ATAN2

Page 14: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018+ ADD ZEICHNUNGS-NR. LP1046-A

- 6 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.3 + ADD

Operator – Addiert alle Eingänge.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : ANY Ergebnis: IN1 + IN2.

AnmerkungenAlle Eingänge und der Ausgang müssen vom gleichen Typ sein. In der FBD-Sprache kann der Block bis zu 16 Eingänge haben. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In der AWL-Sprache addiert der ADD-Befehl das aktuelle Ergebnis und den Operanden. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Die Addition kann mit Zeichenfolgen verwendet werden. Das Ergebnis ist die Verkettung der Eingangszeichenfolgen.

ST‐SpracheQ := IN1 + IN2;MyString := 'Ha' + 'll ' + 'o'; (* MyString ist gleich 'Hallo' *)

FBD‐SpracheDer Block kann bis zu 16 Eingänge haben:

KOP‐SpracheDie Addition wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN1

ADD IN2ST Q (* Q ist gleich: IN1 + IN2 *)

Op2: LD IN1ADD IN2ADD IN3ST Q (* Q ist gleich: IN1 + IN2 + IN3 *)

Siehe auch- SUB * MUL / DIV

Page 15: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ALARM_A

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 7 -

2.4 ALARM_A

Funktionsblock – Alarm mit automatischer Rückstellung.

EingängeIN : BOOL Prozesssignal.ACK : BOOL Bestätigungsbefehl.

AusgängeQ : BOOL TRUE, wenn Alarm aktiv ist.QACK : BOOL TRUE, wenn Alarm bestätigt wurde.

Sequenz 

AnmerkungenKombinieren Sie diesen Block mit dem Block LIM_ALRM, um analoge Alarme zu verwalten.

ST‐SpracheMyALARM wird als Instanz des Funktionsblocks ALARM_A deklariert.

MyALARM (IN, ACK, RST);

Q := MyALARM.Q;QACK := MyALARM.QACK;

FBD‐Sprache

KOP‐Sprache 

Page 16: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ALARM_A ZEICHNUNGS-NR. LP1046-A

- 8 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐SpracheMyALARM wird als Instanz des Funktionsblocks ALARM_A deklariert.

Op1: CAL MyALARM (IN, ACK, RST)

LD MyALARM.Q ST Q LD MyALARM.QACK ST QACK

Siehe auchALARM_MLIM_ALRM

Page 17: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ALARM_M

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 9 -

2.5 ALARM_M

Funktionsblock – Alarm mit manueller Rückstellung.

EingängeIN : BOOL Prozesssignal.ACK : BOOL Bestätigungsbefehl.RST : BOOL Rückstellungsbefehl.

AusgängeQ : BOOL TRUE, wenn Alarm aktiv ist.QACK : BOOL TRUE, wenn Alarm bestätigt wurde.

Sequenz 

AnmerkungenKombinieren Sie diesen Block mit dem Block LIM_ALRM, um analoge Alarme zu verwalten.

ST‐SpracheMyALARM wird als Instanz des Funktionsblocks ALARM_M deklariert.

MyALARM (IN, ACK, RST);Q := MyALARM.Q;QACK := MyALARM.QACK;

FBD‐Sprache 

Page 18: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ALARM_M ZEICHNUNGS-NR. LP1046-A

- 10 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

KOP‐Sprache

AWL‐SpracheMyALARM wird als Instanz des Funktionsblocks ALARM_M deklariert.

Op1: CALMyALARM (IN, ACK, RST)LD MyALARM.QST QLD MyALARM.QACKST QACK

Siehe auchALARM_A LIM_ALRM

Page 19: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A AND ANDN &

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 11 -

2.6 AND ANDN &

Operator – Führt ein logisches UND aller Eingänge aus.

EingängeIN1 : BOOL Erster boolescher Eingang.IN2 : BOOL Zweiter boolescher Eingang.

AusgängeQ : BOOL Boolesches AND aller Eingänge.

Wahrheitstabelle

AnmerkungenIn der FBD-Sprache kann der Block bis zu 16 Eingänge haben. Der Block wird in FBD-Sprache als „&“bezeichnet. In der KOP-Sprache wird eine AND-Operation durch serialisierte Kontakte dargestellt. In AWL-Sprache führt die AND-Anweisung ein logisches UND zwischen dem aktuellen Ergebnis und dem Operanden aus. Das aktuelle Ergebnis muss ein boolescher Wert sein. Der ANDN-Befehl führt ein UND zwischen dem aktuellen Ergebnis und der booleschen Negation des Operanden aus. In ST- und AWL-Sprachen kann „&“ anstelle von „AND“ verwendet werden.

ST‐SpracheQ := IN1 AND IN2;Q := IN1 & IN2 & IN3;

FBD‐SpracheDer Block kann bis zu 16 Eingänge haben:

KOP‐SpracheSerialisierte Kontakte:

IN1 IN2 Q0 0 0

0 1 0

1 0 0

1 1 1

Page 20: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018AND ANDN & ZEICHNUNGS-NR. LP1046-A

- 12 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐Sprache

Op1: LD IN1& IN2(* „&“ oder „AND“ kann verwendet werden *)ST Q(* Q ist gleich: IN1 AND IN2 *)

Op2: LD IN1AND IN2&N IN3(* „&N“ oder „ANDN“ kann verwendet werden *)ST Q(* Q ist gleich: IN1 AND IN2 AND (NOT IN3) *)

Siehe auchOR XOR NOT

Page 21: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A AND_MASK

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 13 -

2.7 AND_MASK

Funktion – Führt ein Bit‐zu‐Bit‐AND zwischen zwei Ganzzahlwerten aus

EingängeIN : ANY Erster Eingang.MSK : ANY Zweiter Eingang (AND-Maske).

AusgängeQ : ANY AND-Maske zwischen IN- und MSK-Eingängen.

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der andere Eingang sind die Operanden der Funktion.

ST‐SpracheQ := AND_MASK (IN, MSK);

FBD‐Sprache 

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐Sprache

Op1: LD INAND_MASK MSKST Q

Siehe auchOR_MASKXOR_MASKNOT_MASK

Page 22: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ANY_TO_BOOL ZEICHNUNGS-NR. LP1046-A

- 14 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.8 ANY_TO_BOOL

Operator – Konvertiert den Eingang in einen booleschen Wert.

EingängeIN : ANY Eingangswert.

AusgängeQ : BOOL Wert in booleschen Wert konvertiert.

AnmerkungenBei den Eingangsdatentypen DINT, REAL und TIME lautet das Ergebnis FALSE, wenn der Eingang 0 ist. Inallen anderen Fällen ist das Ergebnis TRUE. Bei STRING-Eingängen ist der Ausgang TRUE, wenn die Eingangszeichenfolge nicht leer ist, und FALSE, wenn die Zeichenfolge leer ist. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe ist das Ergebnis der Konvertierung. In AWL-Sprache konvertiert die Funktion ANY_TO_BOOL das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_BOOL (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.Die Ausgangsstufe ist das Ergebnis der Konvertierung.Die Ausgangsstufe ist FALSE, wenn EN FALSE ist.

AWL‐SpracheOp1: LD IN

ANY_TO_BOOLST Q

Siehe auchANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_LINTANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 23: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ANY_TO_DINT / ANY_TO_UINT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 15 -

2.9 ANY_TO_DINT / ANY_TO_UINT

Operator – Konvertiert den Eingang in einen Ganzzahlwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : DINT Wert in Ganzzahl konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0 oder 1. Für den Eingangsdatentyp REAL ist der Ausgang der ganzzahlige Teil des reellen Eingangs-Zahlenwerts. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_DINT das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_DINT (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_DINTST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_LINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 24: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ANY_TO_INT / ANY_TO UINT ZEICHNUNGS-NR. LP1046-A

- 16 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.10 ANY_TO_INT / ANY_TO UINT

Operator – Konvertiert den Eingang in einen 16‐Bit‐Ganzzahlwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : INT Wert in 16-Bit-Ganzzahl konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0 oder 1. Für den Eingangsdatentyp REAL ist der Ausgang der ganzzahlige Teil des reellen Eingangs-Zahlenwerts. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_INT das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_INT (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_INTST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_DINT ANY_TO_LINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 25: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ANY_TO_LINT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 17 -

2.11 ANY_TO_LINT

Operator – Konvertiert den Eingang in einen langen (64‐Bit) Ganzzahlwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : LINT Wert in lange (64-Bit) Ganzzahl konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0 oder 1. Für den Eingangsdatentyp REAL ist der Ausgang der ganzzahlige Teil des reellen Eingangs-Zahlenwerts. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_LINT das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_LINT (IN);

FBD‐Sprache

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_LINTST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 26: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ANY_TO_LREAL ZEICHNUNGS-NR. LP1046-A

- 18 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.12 ANY_TO_LREAL

Operator – Konvertiert den Eingang in einen reellen Zahlenwert mit doppelter Genauigkeit.

EingängeIN : ANY Eingangswert.

AusgängeQ : LREAL Wert in reellen Zahlenwert mit doppelter Genauigkeit konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0,0 oder 1,0. Bei DINT-Eingangsdatentypen ist der Ausgang dieselbe Zahl. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0,0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_LREAL das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_LREAL (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_LREALST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_LINT ANY_TO_REAL ANY_TO_TIME ANY_TO_STRING

Page 27: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ANY_TO_REAL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 19 -

2.13 ANY_TO_REAL

Operator – Konvertiert den Eingang in einen reellen Zahlenwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : REAL Wert in reelle Zahl konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0,0 oder 1,0. Bei DINT-Eingangsdatentypen ist der Ausgang dieselbe Zahl. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0,0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_REAL das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_REAL (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL-SPRACHE

Op1: LD INANY_TO_REALST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_LINT ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 28: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ANY_TO_SINT ZEICHNUNGS-NR. LP1046-A

- 20 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.14 ANY_TO_SINT

Operator – Konvertiert den Eingang in einen kurzen (8‐Bit) Ganzzahlwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : SINT Wert in kurze (8-Bit) Ganzzahl konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang 0 oder 1. Für den Eingangsdatentyp REAL ist der Ausgang der ganzzahlige Teil des reellen Eingangs-Zahlenwerts. Beim Eingangsdatentyp TIME entspricht das Ergebnis der Anzahl der Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zahl, die durch die Zeichenfolge dargestellt wird, oder 0, wenn die Zeichenfolge keine gültige Zahl darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_SINT das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_SINT (IN);

FBD‐Sprache 

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_SINTST Q

Siehe auchANY_TO_BOOL ANY_TO_INT ANY_TO_DINT ANY_TO_LINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME ANY_TO_STRING

Page 29: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ANY_TO_STRING

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 21 -

2.15 ANY_TO_STRING

Operator – Konvertiert den Eingang in einen Zeichenfolgenwert.

EingängeIN : ANY Eingangswert.

Ausgänge Q : ANY Wert in Zeichenfolge konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen steht der Ausgang 1 für TRUE und der Ausgang 0 für FALSE. Bei den Eingangsdatentypen DINT, REAL und TIME ist der Ausgang die Zeichenfolgendarstellung derEingangszahl. Dies ist die Anzahl von Millisekunden für TIME-Eingänge. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_STRING das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_STRING (IN);

FBD‐Sprache

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_STRINGST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_LINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_TIME

Page 30: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ANY_TO_TIME ZEICHNUNGS-NR. LP1046-A

- 22 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.16 ANY_TO_TIME

Operator – Konvertiert den Eingang in einen Zeitwert.

EingängeIN : ANY Eingangswert.

AusgängeQ : TIME Wert in Zeit konvertiert.

AnmerkungenBei BOOL-Eingangsdatentypen ist der Ausgang t#0ms oder t#1ms. Für den Eingangsdatentyp DINT oder REAL ist der Ausgang die durch die Eingangszahl angegebene Zeit, dargestellt als Anzahl von Millisekunden. Bei STRING-Eingängen ist der Ausgang die Zeit, die durch die Zeichenfolge dargestellt wird, oder t#0ms, wenn die Zeichenfolge keine gültige Zeit darstellt. In der KOP-Sprache wird die Konvertierung nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache konvertiert die Funktion ANY_TO_TIME das aktuelle Ergebnis.

ST‐SpracheQ := ANY_TO_TIME (IN);

FBD‐Sprache

KOP‐SpracheDie Konvertierung wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ANY_TO_TIMEST Q

Siehe auchANY_TO_BOOL ANY_TO_SINT ANY_TO_INT ANY_TO_DINT ANY_TO_LINT ANY_TO_REAL ANY_TO_LREAL ANY_TO_STRING

Page 31: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ARRAYTOSTRING / ARRAYTOSTRINGU

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 23 -

2.17 ArrayToString / ArrayToStringU

Funktion – Kopiert ein Array aus SINT in einen STRING.

EingängeSRC : SINT Quell-Array von SINT kurzen Ganzzahlen (USINT für ArrayToStringU).DST : STRING Ziel-STRING.COUNT : DINT Anzahl der zu kopierenden Zeichen.

AusgängeQ : DINT Anzahl der kopierten Zeichen.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe.

Diese Funktion kopiert die ersten COUNT (Anzahl) Elemente des SRC-Arrays in die Zeichen der DST-Zeichenfolge. Die Funktion prüft die maximale Größe der Zielzeichenfolge und passt bei Bedarf die Anzahl für COUNT an.

ST‐SpracheQ := ArrayToString (SRC, DST, COUNT);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheNicht verfügbar.

Siehe auchStringToArray

Page 32: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ASCII ZEICHNUNGS-NR. LP1046-A

- 24 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.18 ASCII

Funktion – Ruft den ASCII‐Code eines Zeichens innerhalb einer Zeichenfolge ab.

EingängeIN : STRING EingangszeichenfolgePOS : DINT Position des Zeichens innerhalb der Zeichenfolge. (Die erste gültige Position ist 1).

AusgängeCODE : DINT ASCII-Code des ausgewählten Zeichens oder 0, wenn die Position ungültig ist.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der andere Eingang ist der Operand der Funktion.

ST‐SpracheCODE := ASCII (IN, POS);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN

AND_MASKMSKST CODE

Siehe auchCHAR

Page 33: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ASIN / ASINL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 25 -

2.19 ASIN / ASINL

Funktion – Berechnet einen Arcussinus.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Arcussinus von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ASIN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ASINST Q (* Q ist: ASIN (IN) *)

Siehe auchSIN COS TAN ACOS ATAN ATAN2

Page 34: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ATAN / ATANL ZEICHNUNGS-NR. LP1046-A

- 26 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.20 ATAN / ATANL

Funktion – Berechnet einen Arcustangens.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Arcustangens von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ATAN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ATANST Q (* Q ist: ATAN (IN) *)

Siehe auchSIN COS TAN ASIN ACOS ATAN2

Page 35: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ATOH

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 27 -

2.21 ATOH

Funktion – Konvertiert eine Zeichenfolge auf hexadezimaler Basis in eine Ganzzahl.

EingängeIN : STRING Zeichenfolge, die eine Ganzzahl im Hexadezimalformat darstellt.

AusgängeQ : DINT Ganzzahl, dargestellt durch die Zeichenfolge.

Wahrheitstabelle (Beispiele)

AnmerkungenBei der Funktion wird nicht zwischen Groß- und Kleinschreibung unterschieden. Das Ergebnis ist 0 für eine leere Zeichenfolge. Die Konvertierung wird vor dem ersten ungültigen Zeichen beendet. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ATOH (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ATOHST Q

Siehe auchHTOA

IN Q" 0

'12' 18

'a0' 160

A0zzz' 160

Page 36: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018BCD_TO_BIN ZEICHNUNGS-NR. LP1046-A

- 28 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.22 BCD_TO_BIN

Funktion – Konvertiert einen BCD‐Wert (Binär codierte Dezimalstelle) in einen Binärwert.

EingängeIN : DINT Ganzzahliger Wert in BCD.

AusgängeQ : DINT Wert in Ganzzahl konvertiert oder 0, wenn IN kein gültiger positiver BCD-Wert ist.

Wahrheitstabelle (Beispiele)

AnmerkungenDer Eingang muss positiv sein und einen gültigen BCD-Wert darstellen. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := BCD_TO_BIN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

BCD_TO_BINST Q

Siehe auchBIN_TO_BCD

IN Q-2 0 (ungültig)

0 0

16 (16#10) 10

15 (16#0F) 0 (ungültig)

Page 37: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A BIN_TO_BCD

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 29 -

2.23 BIN_TO_BCD

Funktion – Konvertiert einen Binärwert in einen BCD‐Wert (Binär codierte Dezimalstelle).

EingängeIN : DINT Ganzzahliger Wert

AusgängeQ : DINT Wert in BCD konvertiert oder 0, wenn IN kleiner als 0 ist.

Wahrheitstabelle (Beispiele)

AnmerkungenDer Eingang muss positiv sein. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := BIN_TO_BCD (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

BIN_TO_BCDST Q

Siehe auchBCD_TO_BIN

IN Q-2 0 (ungültig)

0 0

10 16 (16#10)

22 34 (16#34)

Page 38: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018BLINK ZEICHNUNGS-NR. LP1046-A

- 30 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.24 BLINK

Funktionsblock – Blinker.

EingängeRUN : BOOL Aktivierungsbefehl.CYCLE : TIME Zeitdauer des Blinkens.

AusgängeQ : BOOL Ausgangs-Blinksignal.

Zeitdiagramm

AnmerkungenDas Ausgangssignal ist FALSE, wenn der RUN-Eingang FALSE ist. Der CYCLE-Eingang ist die gesamte Zeitdauer des Blinksignals. In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Q-Ausgangssignal.

ST‐SpracheMyBlinker ist eine deklarierte Instanz des Funktionsblocks BLINK.

MyBlinker (RUN, CYCLE);Q := MyBlinker.Q;

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheMyBlinker ist eine deklarierte Instanz des Funktionsblocks BLINK.

Op1: CAL MyBlinker (RUN, CYCLE)LD MyBlinker.QST Q

Siehe auchTONTOFTP

Page 39: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A BLINKA

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 31 -

2.25 BLINKA

Funktionsblock – Asymmetrischer Blinker.

EingängeRUN : BOOL Aktivierungsbefehl.TM0 : TIME Dauer des Status FALSE am Ausgang.TM1 : TIME Dauer des Status TRUE am Ausgang.

AusgängeQ : BOOL Ausgangs-Blinksignal.

Zeitdiagramm

AnmerkungenDas Ausgangssignal ist FALSE, wenn der RUN-Eingang FALSE ist. In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Q-Ausgangssignal.

ST‐SpracheMyBlinker ist eine deklarierte Instanz des Funktionsblocks BLINKA.

MyBlinker (RUN, TM0, TM1);Q := MyBlinker.Q;

FBD‐Sprache

KOP‐Sprache

Page 40: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018BLINKA ZEICHNUNGS-NR. LP1046-A

- 32 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐SpracheMyBlinker ist eine deklarierte Instanz des Funktionsblocks BLINKA.

Op1: CAL MyBlinker (RUN, TM0, TM1)LD MyBlinker.QST Q

Siehe auchTONTOFTP

Page 41: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A CHAR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 33 -

2.26 CHAR

Funktion – Erstellt eine Zeichenfolge mit nur einem Zeichen.

EingängeCODE : DINT ASCII-Code des gewünschten Zeichens.

AusgängeQ : STRING STRING, der nur das angegebene Zeichen enthält.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der Eingangsparameter (CODE) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := CHAR (CODE);

FBD‐Sprache

KOP‐Sprache Die Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD CODE

CHARST Q

Siehe auchASCII

Page 42: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018CMP ZEICHNUNGS-NR. LP1046-A

- 34 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.27 CMP

Funktionsblock – Vergleich mit detaillierten Ausgängen für Ganzzahl‐Eingänge.

EingängeIN1 : DINT Erster Wert.IN2 : DINT Zweiter Wert.

AusgängeLT : BOOL TRUE, wenn IN1 < IN2.EQ : BOOL TRUE, wenn IN1 = IN2.GT : BOOL TRUE, wenn IN1 > IN2.

AnmerkungenIn der KOP-Sprache validiert der Stufeneingang (EN) den Vorgang. Der Stufenausgang ist das Ergebnis von LT (kleiner als der Vergleich).

ST‐SpracheMyCmp wird als Instanz des Funktionsblocks CMP deklariert:

MyCMP (IN1, IN2);bLT := MyCmp.LT;bEQ := MyCmp.EQ;bGT := MyCmp.GT;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur durchgeführt, wenn EN TRUE ist:

AWL‐SpracheMyCmp wird als Instanz des Funktionsblocks CMP deklariert:

Op1: CAL MyCmp (IN1, IN2)LD MyCmp.LTST bLTLD MyCmp.EQST bEQLD MyCmp.GTST bGT

Siehe auch>= GE > GT = EQ <> NE <= LE < LT

Page 43: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A CONCAT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 35 -

2.28 CONCAT

Funktion – Verkettung von Zeichenfolgen.

EingängeIN_1 : STRING Beliebige Zeichenfolgenvariable oder konstanter Ausdruck.

IN_N : STRING Beliebige Zeichenfolgenvariable oder konstanter Ausdruck.

AusgängeQ : STRING Verkettung aller Eingänge.

AnmerkungenIn der FBD- oder KOP-Sprache kann der Block bis zu 16 Eingänge haben. In AWL oder ST akzeptiert die Funktion eine variable Anzahl von Eingängen (mindestens 2).

Beachten Sie, dass Sie auch den Operator „+“ verwenden können, um Zeichenfolgen zu verketten.

ST‐SpracheQ := CONCAT ('AB', 'CD', 'E');(* Q ist jetzt 'ABCDE' *)

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheOp1: LD 'AB'

CONCAT 'CD' 'E'ST Q (* Q ist jetzt 'ABCDE' *)

Page 44: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018COS / COSL ZEICHNUNGS-NR. LP1046-A

- 36 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.29 COS / COSL

Funktion – Berechnet einen Cosinus.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Cosinus von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := COS (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

COSST Q (* Q ist: COS (IN) *)

Siehe auchSIN TAN ASIN ACOS ATAN ATAN2

Page 45: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A CRC16

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 37 -

2.30 CRC16

Funktion – Berechnet einen CRC16‐Wert für die Zeichen einer Zeichenfolge.

EingängeIN : STRING Zeichenfolge.

AusgängeQ : INT CRC16 für alle Zeichen der Zeichenfolge berechnet.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der Eingangsparameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

Die Funktion berechnet einen MODBUS CRC16, initialisiert bei einem Wert von 16#FFFF.

ST‐SpracheQ := CRC16 (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN

CRC16ST Q

Page 46: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018CTD / CTDR ZEICHNUNGS-NR. LP1046-A

- 38 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.31 CTD / CTDr

Funktionsblock – Abwärtszähler.

EingängeCD : BOOL Zählung aktivieren. Der Zähler wird bei jedem Aufruf verringert, wenn CD TRUE ist.LOAD : BOOL Befehl erneut laden. Der Zähler wird auf PV gesetzt, wenn er mit LOAD gleich TRUE aufgerufen wird.PV : DINT Programmierter Maximalwert.

AusgängeQ : BOOL TRUE, wenn der Zähler leer ist, d.h. wenn CV = 0.CV : DINT Aktueller Wert des Zählers.

AnmerkungenDer Zähler ist beim Start der Anwendung leer (CV = 0). Der Zähler enthält keine Impulserkennung für den CD-Eingang. Verwenden Sie den Funktionsblock R_TRIG oder F_TRIG zum Zählen von Impulsen des CD-Eingangssignals. In der KOP-Sprache ist CD die Eingangsstufe. Die Ausgangsstufe ist der Q-Ausgang.

Die Funktionsblöcke CTUr, CTDr und CTUDr funktionieren genau wie andere Zähler, mit der Ausnahme, dass alle booleschen Eingänge (CU, CD, RESET, LOAD) eine implizite ansteigende Flankenerkennung enthalten. Diese Zähler werden auf einigen Zielsystemen möglicherweise nicht unterstützt.

ST‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTD.

MyCounter (CD, LOAD, PV);Q := MyCounter.Q;CV := MyCounter.CV;

FBD‐Sprache

KOP‐Sprache 

AWL‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTD.

Op1: CAL MyCounter (CD, LOAD, PV)LD MyCounter.QST QLD MyCounter.CVST CV

Siehe auchCTU CTUD

Page 47: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A CTU / CTUR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 39 -

2.32 CTU / CTUr

Funktionsblock – Aufwärtszähler.

EingängeCU : BOOL Zählung aktivieren. Der Zähler wird bei jedem Aufruf erhöht, wenn CU TRUE ist.RESET : BOOL Rückstellungsbefehl. Der Zähler wird bei Aufruf mit RESET gleich TRUE auf 0 zurückgesetzt.PV : DINT Programmierter Maximalwert.

AusgängeQ : BOOL TRUE, wenn der Zähler voll ist, d.h. wenn CV = PV.CV : DINT Aktueller Wert des Zählers.

AnmerkungenDer Zähler ist beim Start der Anwendung leer (CV = 0). Der Zähler enthält keine Impulserkennung für den CU-Eingang. Verwenden Sie den Funktionsblock R_TRIG oder F_TRIG zum Zählen von Impulsen des CU-Eingangssignals. In der KOP-Sprache ist CU die Eingangsstufe. Die Ausgangsstufe ist der Q-Ausgang.

Die Funktionsblöcke CTUr, CTDr und CTUDr funktionieren genau wie andere Zähler, mit der Ausnahme, dass alle booleschen Eingänge (CU, CD, RESET, LOAD) eine implizite ansteigende Flankenerkennung enthalten. Diese Zähler werden auf einigen Zielsystemen möglicherweise nicht unterstützt.

ST‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTU.

MyCounter (CU, RESET, PV);Q := MyCounter.Q;CV := MyCounter.CV;

FBD‐Sprache

KOP‐Sprache 

AWL‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTU.

Op1: CAL MyCounter (CU, RESET, PV)LD MyCounter.QST QLD MyCounter.CVST CV

Siehe auchCTD CTUD

Page 48: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018CTUD / CTUDR ZEICHNUNGS-NR. LP1046-A

- 40 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.33 CTUD / CTUDr

Funktionsblock – Auf‐/Abwärtszähler.

EingängeCU : BOOL Zählung aktivieren. Der Zähler wird bei jedem Aufruf erhöht, wenn CU TRUE ist.CD : BOOL Zählung aktivieren. Der Zähler wird bei jedem Aufruf verringert, wenn CD TRUE ist.RESET : BOOL Rückstellungsbefehl. Der Zähler wird bei Aufruf mit RESET gleich TRUE auf 0 zurückgesetzt.LOAD : BOOL Befehl erneut laden. Der Zähler wird auf PV gesetzt, wenn er mit LOAD gleich TRUE aufgerufen wird.PV : DINT Programmierter Maximalwert.

AusgängeQU : BOOL TRUE, wenn der Zähler voll ist, d.h. wenn CV = PV.QD : BOOL TRUE, wenn der Zähler leer ist, d.h. wenn CV = 0.CV : DINT Aktueller Wert des Zählers.

AnmerkungenDer Zähler ist beim Start der Anwendung leer (CV = 0). Der Zähler enthält keine Impulserkennung für CU- und CD-Eingänge. Verwenden Sie die Funktionsblöcke R_TRIG oder F_TRIG zum Zählen der Impulse von CU- oder CD-Eingangssignalen. In der KOP-Sprache ist CU die Eingangsstufe. Die Ausgangsstufe ist der QU-Ausgang.

Die Funktionsblöcke CTUr, CTDr und CTUDr funktionieren genau wie andere Zähler, mit der Ausnahme, dass alle booleschen Eingänge (CU, CD, RESET, LOAD) eine implizite ansteigende Flankenerkennung enthalten. Diese Zähler werden auf einigen Zielsystemen möglicherweise nicht unterstützt.

ST‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTUD.

MyCounter (CU, CD, RESET, LOAD, PV);QU := MyCounter.QU;QD := MyCounter.QD;CV := MyCounter.CV;

FBD‐Sprache

KOP‐Sprache

Page 49: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A CTUD / CTUDR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 41 -

AWL‐SpracheMyCounter ist eine deklarierte Instanz des Funktionsblocks CTUD.

Op1: CAL MyCounter (CU, CD, RESET, LOAD, PV)LD MyCounter.QUST QULD MyCounter.QDST QDLD MyCounter.CVST CV

Siehe auchCTU CTD

Page 50: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DELETE ZEICHNUNGS-NR. LP1046-A

- 42 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.34 DELETE 

Funktion – Löscht Zeichen in einer Zeichenfolge.

EingängeIN : STRING Zeichenfolge.NBC : DINT Anzahl der zu löschenden Zeichen.POS : DINT Position des ersten gelöschten Zeichens (Position des ersten Zeichens ist 1).

AusgängeQ : STRING Geänderte Zeichenfolge.

AnmerkungenDie erste gültige Zeichenposition ist 1. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Argumente sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := DELETE (IN, NBC, POS);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

DELETE NBC, POSST Q

Siehe auch+ ADD MLEN INSERT FIND REPLACE LEFT RIGHT MID

Page 51: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A / DIV

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 43 -

2.35 / DIV

Operator – Dividiert Eingänge.

EingängeIN1 : ANY_NUM Erster Eingang.IN2 : ANY_NUM Zweiter Eingang.

AusgängeQ : ANY_NUM Ergebnis: IN1 / IN2.

AnmerkungenAlle Eingänge und der Ausgang müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache teilt der DIV-Befehl das aktuelle Ergebnis durch den Operanden. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

ST‐SpracheQ := IN1 / IN2;

FBD‐Sprache

KOP‐SpracheDie Division wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN1

DIV IN2ST Q (* Q ist gleich: IN1 / IN2 *)

Op2: LD IN1DIV IN2DIV IN3ST Q (* Q ist gleich: IN1 / IN2 / IN3 *)

Siehe auch+ ADD NEG - * MUL

Page 52: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTAT ZEICHNUNGS-NR. LP1046-A

- 44 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.36 DTAt

Funktionsblock – Generiert zu einer bestimmten Uhrzeit/Datum einen Impuls

EingängeYEAR : DINT Gewünschtes Jahr (z. B. 2006).

MONTH : DINT Gewünschter Monat (1 = Januar).

DAY : DINT Gewünschter Tag (1 bis 31).

TMOFDAY : TIME Gewünschte Uhrzeit.

RST : BOOL Rückstellungsbefehl.

AusgängeQAT : BOOL Impulssignal.

QPAST : BOOL TRUE, falls abgelaufen.

AchtungDie Echtzeituhr ist auf einigen Zielsystemen möglicherweise nicht verfügbar. Weitere Informationen zu den verfügbaren Funktionen finden Sie in den OEM-Anweisungen.

AnmerkungenParameter werden nicht ständig aktualisiert. Sie werden nur berücksichtigt, wenn:

• der Block der erste Mal aufgerufen wird.

• wenn der Rücksetzeingang (RST) TRUE ist.

In diesen beiden Situationen werden die Ausgänge auf FALSE zurückgesetzt.

Wenn der Block mit RST= FALSE das erste Mal aufgerufen wird und der angegebene Datumstempel übergeben wird, wird der Ausgang QPAST auf TRUE und der Ausgang QAT für genau einen Zyklus (Impulssignal) auf TRUE gesetzt.

Höchste Einheiten werden ignoriert, wenn sie auf 0 gesetzt sind. Wenn die Argumente beispielsweise year=0, month=0, day = 3, tmofday=t#10h lauten, wird der Block am nächsten 3. Tag des Monats um 10 Uhr ausgelöst.

In der KOP-Sprache wird der Block nur aktiviert, wenn die Eingangsstufe TRUE ist.

ST‐SpracheMyDTAT ist eine deklarierte Instanz des Funktionsblocks DTAT.

MyDTAT (YEAR, MONTH, DAY, TMOFDAY, RST);QAT := MyDTAT.QAT;QPAST := MyDTATA.QPAST;

Page 53: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTAT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 45 -

FBD‐Sprache

KOP‐SpracheWird nur aufgerufen, wenn EN TRUE ist.

AWL‐SpracheMyDTAT ist eine deklarierte Instanz des Funktionsblocks DTAT.

Op1: CAL MyDTAT (YEAR, MONTH, DAY, TMOFDAY, RST)LD MyDTAT.QATST QATLD MyDTATA.QPASTST QPAST

Page 54: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTCURDATE ZEICHNUNGS-NR. LP1046-A

- 46 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.37 DTCurDate

Funktion: Aktuellen Datumstempel abrufenQ := DTCurDate ();

Q : DINT Numerischer Stempel, der das aktuelle Datum darstellt.

FBD‐Sprache

KOP‐Sprache

Page 55: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTCURDATETIME

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 47 -

2.38 DTCurDateTime

Funktion: Aktuellen Zeitstempel abrufen (Funktionsblock)Inst_DTCurDateTime (bLocal);bLocal : BOOL TRUE, wenn lokale Zeit angefordert wird (GMT wenn FALSE)..Year : DINT Ausgang: Aktuelles Jahr.Month : DINT Ausgang: Aktueller Monat.Day : DINT Ausgang: Aktueller Tag.Hour : DINT Ausgang: Aktuelle Zeit: Stunden.Min : DINT Ausgang: Aktuelle Zeit: Minuten.Sec : DINT Ausgang: Aktuelle Zeit: Sekunden.MSec : DINT Ausgang: Aktuelle Zeit: Millisekunden.TmOfDay : TIME Ausgang: Aktuelle Tageszeit (seit Mitternacht).DST : BOOL Ausgang: TRUE, wenn Sommerzeit aktiv ist

FBD‐Sprache

KOP‐Sprache

Page 56: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTCURTIME ZEICHNUNGS-NR. LP1046-A

- 48 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.39 DTCurTime

Funktion: Aktuellen Zeitstempel abrufenQ := DTCurTime ();

Q : DINT Numerischer Stempel, der die aktuelle Uhrzeit des Tages darstellt.

FBD‐Sprache

KOP‐Sprache

Page 57: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTDAY

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 49 -

2.40 DTDay

Funktion: Tag des Monats aus einem Datumstempel extrahierenQ := DTDay (iDate);

IDATE : DINT Numerischer Stempel, der ein Datum darstellt.

Q : DINT Tag des Monats des Datums (1..31).

FBD‐Sprache

KOP‐Sprache

Page 58: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTFORMAT ZEICHNUNGS-NR. LP1046-A

- 50 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.41 DTFormat

Funktion – Formatiert das aktuelle Datum/die aktuelle Uhrzeit in einer Zeichenfolge mit einem benutzerdefinierten Format

EingängeFMT : STRING Formatzeichenfolge.

AusgängeQ : STRING Zeichenfolge, die das formatierte Datum oder die formatierte Uhrzeit enthält.

AchtungDie Echtzeituhr ist auf einigen Zielsystemen möglicherweise nicht verfügbar. Weitere Informationen zu den verfügbaren Funktionen finden Sie in den OEM-Anweisungen.

AnmerkungenDie Formatzeichenfolge kann ein beliebiges Zeichen enthalten. Einige spezielle Markierungen, die mit dem Zeichen „%“ beginnen, weisen auf Datums-/Uhrzeitinformationen hin:

%Y Jahr einschließlich Jahrhundert (z. B. 2006)%y Jahr ohne Jahrhundert (z. B. 06)%m Monat (1..12)%d Tag des Monats (1..31)%H Stunden (0..23)%M Minuten (0..59)%S Sekunden (0..59)

Beispiel (* Angenommen, wir haben den 4. Juli 2006 um 18:45:20 *) Q := DTFORMAT ('Heute ist %Y/%m/%d - %H:%M:%S'); (* Q lautet 'Heute ist 2006/07/04 - 18:45:20 *)

ST‐SpracheQ := DTFORMAT (FMT);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD FMT DTFORMAT ST Q

Page 59: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTHOUR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 51 -

2.42 DTHour

Funktion: Stunden aus einem Zeitstempel extrahierenQ := DTHour (iTime);

ITIME : DINT Numerischer Stempel, der eine Zeit darstellt.

Q : DINT Stunden der Uhrzeit (0..23).

FBD‐Sprache

KOP‐Sprache

Page 60: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTMIN ZEICHNUNGS-NR. LP1046-A

- 52 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.43 DTMin

Funktion: Minuten aus einem Zeitstempel extrahierenQ := DTMin (iTime);

ITIME : DINT Numerischer Stempel, der eine Zeit darstellt.

Q : DINT Minuten der Uhrzeit (0..59).

FBD‐Sprache

KOP‐Sprache

Page 61: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTMONTH

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 53 -

2.44 DTMonth

Funktion: Monat aus einem Datumstempel extrahierenQ := DTMonth (iDate);

IDATE : DINT Numerischer Stempel, der ein Datum darstellt.

Q : DINT Monat des Datums (1..12).

FBD‐Sprache

KOP‐Sprache

Page 62: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTMS ZEICHNUNGS-NR. LP1046-A

- 54 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.45 DTMs

Funktion: Millisekunden aus einem Zeitstempel extrahierenQ := DTMs (iTime);

ITIME : DINT Numerischer Stempel, der eine Zeit darstellt.

Q : DINT Millisekunden der Uhrzeit (0..999).

FBD‐Sprache

KOP‐Sprache

Page 63: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A DTSEC

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 55 -

2.46 DTSec

Funktion: Sekunden aus einem Zeitstempel extrahierenQ := DTSec (iTime);

ITIME : DINT Numerischer Stempel, der eine Zeit darstellt.

Q : DINT Sekunden der Uhrzeit (0..59).

FBD‐Sprache

KOP‐Sprache

Page 64: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018DTYEAR ZEICHNUNGS-NR. LP1046-A

- 56 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.47 DTYear

Funktion: Jahr aus einem Datumstempel extrahierenQ := DTYear (iDate);

IDATE : DINT Numerischer Stempel, der ein Datum darstellt.

Q : DINT Jahr des Datums (z. B. 2004).

FBD‐Sprache

KOP‐Sprache

Page 65: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A = EQ

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 57 -

2.48 = EQ

Operator – Test, ob der erste Eingang gleich dem zweiten Eingang ist.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 = IN2.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der EQ-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

Vergleiche mit „gleich” können nicht mit TIME-Variablen verwendet werden. Der Grund dafür ist, dass der Timer tatsächlich die Auflösung des Zielzyklus aufweist und der Test unsicher sein kann, da einige Werte möglicherweise nie erreicht werden.

ST‐SpracheQ := IN1 = IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist:

AWL‐SpracheOp1: LD IN1

EQ IN2ST Q (* Q ist true, wenn IN1 = IN2 *)

Siehe auch> GT < LT >= GE <= LE <> NE CMP

Page 66: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018EXP / EXPL ZEICHNUNGS-NR. LP1046-A

- 58 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.49 EXP / EXPL

Funktion – Berechnet die natürliche Exponentialfunktion des Eingangs.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Natürliche Exponentialfunktion von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := EXP (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

EXPST Q (* Q ist: EXP (IN) *)

Siehe auchABS TRUNC POW SQRT

Page 67: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A EXPT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 59 -

2.50 EXPT

Funktion – Berechnet eine Potenz.

EingängeIN : REAL Reeller Zahlenwert.EXP : DINT Exponent.

AusgängeQ : REAL Ergebnis: Potenz „EXP” von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der Exponent (zweiter Eingang der Funktion) muss der Operand der Funktion sein.

ST‐SpracheQ := EXPT (IN, EXP);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

EXPT EXPST Q (* Q ist: (IN ** EXP) *)

Siehe auchABS TRUNC LOG SQRT

Page 68: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018F_TRIG ZEICHNUNGS-NR. LP1046-A

- 60 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.51 F_TRIG

Funktionsblock – Erkennung abfallender Impulse.

EingängeCLK : BOOL Boolesches Signal.

AusgängeQ : BOOL TRUE, wenn der Eingang von TRUE zu FALSE wechselt.

Wahrheitstabelle

AnmerkungenObwohl die Kontakte vom Typ ]P[ und ]N[ in der KOP-Sprache verwendet werden können, wird empfohlen, deklarierte Instanzen der Funktionsblöcke R_TRIG oder F_TRIG zu verwenden, um ein unerwartetes Verhalten während einer Online-Änderung zu vermeiden.

ST‐SpracheMyTrigger wird als Instanz des Funktionsblocks F_TRIG deklariert:

MyTrigger (CLK);Q := MyTrigger.Q;

FBD‐Sprache

KOP‐SpracheDas Eingangssignal ist die Stufe - die Stufe ist der Ausgang:

AWL‐SpracheMyTrigger wird als Instanz des Funktionsblocks F_TRIG deklariert:

Op1: CAL MyTrigger (CLK)LD MyTrigger.QST Q

Siehe auchR_TRIG

CLK CLK vorh. Q0 0 0

0 1 1

1 0 0

1 1 0

Page 69: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A FIFO

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 61 -

2.52 FIFO

Funktionsbaustein – Verwaltet eine First‐In/First‐Out‐Liste (älteste Eingänge werden zuerst ausgegeben).

EingängePUSH : BOOL Neuen Wert übertragen (bei ansteigender Flanke).POP : BOOL Neuen Wert entnehmen (bei ansteigender Flanke).RST : BOOL Liste zurücksetzen.NEXTIN : ANY Zu übertragender Wert.NEXTOUT : ANY Wert des ältesten übertragenen Werts – wird nach dem Aufruf aktualisiert!BUFFER : ANY Array zum Speichern von Werten.

AusgängeEMPTY : BOOL TRUE, wenn die Liste leer ist.OFLO : BOOL TRUE, wenn ein PUSH-Befehl überläuft.COUNT : DINT Anzahl der Werte in der Liste.PREAD : DINT Index im Puffer des ältesten übertragenen Werts.PWRITE : DINT Index im Puffer der nächsten Übertragungsposition.

AnmerkungenNEXTIN, NEXTOUT und BUFFER müssen denselben Datentyp haben und dürfen nicht STRING sein.

Das NEXTOUT-Argument gibt eine Variable an, die nach dem Aufruf des Blocks mit dem ältesten Push-Wert ausgefüllt wird.

Werte werden im BUFFER-Array gespeichert. Die Daten werden als Rollover-Puffer angeordnet und niemals verschoben oder zurückgesetzt. Nur Lese- und Schreibzeiger und übertragene Werte werden aktualisiert. Die maximale Größe der Liste ist die Dimension des Arrays.

Wenn der Block zum ersten Mal aufgerufen wird, merkt er sich, auf welchem Array er funktionieren sollte. Wenn Sie später dieselbe Instanz mit einem anderen BUFFER-Eingang aufrufen, wird der Aufruf als ungültig betrachtet und bewirkt nichts. In diesem Fall wird eine leere Liste ausgegeben.

In der KOP-Sprache ist die Eingangsstufe der PUSH-Eingang. Die Ausgangsstufe ist der EMPTY-Ausgang.

ST‐SpracheMyFIFO ist eine deklarierte Instanz des Funktionsblocks FIFO.

SMyFIFO (PUSH, POP, RST, NEXTIN, NEXTOUT, BUFFER);EMPTY := MyFIFO.EMPTY;OFLO := MyFIFO.OFLO;COUNT := MyFIFO.COUNT;PREAD := MyFIFO.PREAD;PWRITE := MyFIFO.PWRITE;

FBD‐Sprache

Page 70: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018FIFO ZEICHNUNGS-NR. LP1046-A

- 62 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

KOP‐Sprache

AWL‐SpracheMyFIFO ist eine deklarierte Instanz des Funktionsblocks FIFO.

Op1: CAL MyFIFO (PUSH, POP, RST, NEXTIN, NEXTOUT, BUFFER)LD MyFIFO.EMPTYST EMPTYLD MyFIFO.OFLOST OFLOLD MyFIFO.COUNTST COUNTLD MyFIFO.PREADST PREADLD MyFIFO.PWRITEST PWRITE

Siehe auchLIFO

Page 71: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A FIND

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 63 -

2.53 FIND

Funktion – Sucht die Position von Zeichen in einer Zeichenfolge.

EingängeIN : STRING Zeichenfolge.STR : STRING Zeichenfolge, welche die gesuchten Zeichen enthält.

AusgängePOS : DINT Position des ersten Zeichens von STR in IN oder 0, wenn nicht gefunden.

AnmerkungenDie erste gültige Zeichenposition ist 1. Ein Rückgabewert von 0 bedeutet, dass die STR-Zeichenfolge nicht gefunden wurde. Bei der Suche wird zwischen Groß- und Kleinschreibung unterschieden. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Das zweite Argument ist der Operand der Funktion.

ST‐SprachePOS := FIND (IN, STR);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

FIND STRST POS

Siehe auch+ADD MLEN DELETE INSERT REPLACE LEFT RIGHT MID

Page 72: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018FLIPFLOP ZEICHNUNGS-NR. LP1046-A

- 64 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.54 FLIPFLOP

Funktionsblock – Bistabiler Flipflop.

EingängeIN : BOOL Tauschbefehl (bei ansteigender Flanke).RST : BOOL Rückstellung auf FALSE.

AusgängeQ : BOOL Ausgang.

AnmerkungenDer Ausgang wird systematisch auf FALSE zurückgesetzt, wenn RST TRUE ist. Der Ausgang ändert sich bei jeder ansteigenden Flanke des IN-Eingangs, wenn RST FALSE ist.

ST‐SpracheMyFlipFlop wird als Instanz des Funktionsblocks FLIPFLOP deklariert:

MyFlipFlop (IN, RST);

Q := MyFlipFlop.Q;

FBD‐Sprache

KOP‐SpracheDer IN-Befehl ist die Stufe – die Stufe ist der Ausgang:

AWL‐SpracheMyFlipFlop wird als Instanz des Funktionsblocks FLIPFLOP deklariert:

Op1: CAL MyFlipFlop (IN, RST)LD MyFlipFlop.QST Q1

Siehe auchRS SR

Page 73: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A >= GE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 65 -

2.55 >= GE

Operator – Test, ob der erste Eingang größer als oder gleich dem zweiten Eingang ist.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 >= IN2.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der GE-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

ST‐SpracheQ := IN1 >= IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.

AWL‐SpracheOp1: LD IN1

GE IN2ST Q (* Q ist true, wenn IN1 >= IN2 *)

Siehe auch> GT < LT <= LE = EQ <> NE CMP

Page 74: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018> GT ZEICHNUNGS-NR. LP1046-A

- 66 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.56 > GT

Operator – Test, ob der erste Eingang größer ist als der zweite Eingang.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 > IN2.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der GT-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

ST‐SpracheQ := IN1 > IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.

AWL‐SpracheOp1: LD IN1

GT IN2ST Q (* Q ist true, wenn IN1 > IN2 *)

Siehe auch< LT >= GE <= LE = EQ <> NE CMP

Page 75: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A HIBYTE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 67 -

2.57 HIBYTE

Funktion – Ruft das höchstwertige Byte eines Wortes ab

EingängeIN : UINT 16-Bit-Register.

AusgängeQ : USINT Das höchstwertige Byte.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := HIBYTE (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

HIBYTEST Q

Siehe auchLOBYTE LOWORD HIWORD MAKEWORD MAKEDWORD

Page 76: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018HIWORD ZEICHNUNGS-NR. LP1046-A

- 68 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.58 HIWORD

Funktion – Ruft das höchstwertige Wort eines Doppelworts ab.

EingängeIN : UDINT 32-Bit-Register.

AusgängeQ : UINT Das höchstwertige Wort.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := HIWORD (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

HIWORDST Q

Siehe auchLOBYTE HIBYTE LOWORD MAKEWORD MAKEDWORD

Page 77: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A HTOA

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 69 -

2.59 HTOA

Funktion – Konvertiert eine Ganzzahl auf hexadezimaler Basis in eine Zeichenfolge.

EingängeIN : DINT Ganzzahliger Wert.

AusgängeQ : STRING Zeichenfolge, die eine Ganzzahl im Hexadezimalformat darstellt.

Wahrheitstabelle (Beispiele)

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := HTOA (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

HTOAST Q

Siehe auchATOH

IN Q0 '0'

18 '12'

160 'A0'

Page 78: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018INSERT ZEICHNUNGS-NR. LP1046-A

- 70 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.60 INSERT

Funktion – Fügt Zeichen in eine Zeichenfolge ein.

EingängeIN : STRING Zeichenfolge.STR : STRING Zeichenfolge, welche die einzufügenden Zeichen enthält.POS : DINT Position des ersten eingefügten Zeichens (Position des ersten Zeichens ist 1).

AusgängeQ : STRING Geänderte Zeichenfolge.

AnmerkungenDie erste gültige Zeichenposition ist 1. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Argumente sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := INSERT (IN, STR, POS);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

INSERTSTR, POSST Q

Siehe auch+ ADD MLEN DELETE FIND REPLACE LEFT RIGHT MID

Page 79: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 71 -

2.61 LE

Operator – Test, ob der erste Eingang kleiner als oder gleich dem zweiten Eingang ist.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 <= IN2.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der LE-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

ST‐SpracheQ := IN1 <= IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist:

AWL‐SpracheOp1: LD IN1

LE IN2ST Q (* Q ist true, wenn IN1 <= IN2 *)

Siehe auch> GT < LT >= GE = EQ <> NE CMP

Page 80: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LEFT ZEICHNUNGS-NR. LP1046-A

- 72 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.62 LEFT

Funktion – Extrahiert Zeichen einer Zeichenfolge auf der linken Seite.

EingängeIN : STRING Zeichenfolge.NBC : DINT Anzahl der zu extrahierenden Zeichen.

AusgängeQ : STRING Zeichenfolge, die die ersten NBC-Zeichen von IN enthält.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Das zweite Argument ist der Operand der Funktion.

ST‐SpracheQ := LEFT (IN, NBC);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

LEFT NBCST Q

Siehe auch+ ADD MLEN DELETE INSERT FIND REPLACE RIGHT MID

Page 81: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LEN

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 73 -

2.63 LEN

Funktion – Ruft die Anzahl der Zeichen in einer Zeichenfolge ab.

EingängeIN : STRING Zeichenfolge.

AusgängeNBC : INT Anzahl der Zeichen, die sich derzeit in der Zeichenfolge befinden. 0, wenn die Zeichenfolge leer ist.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheNBC := LEN (IN);

Page 82: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LIFO ZEICHNUNGS-NR. LP1046-A

- 74 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.64 LIFO

Funktionsbaustein – Verwaltet einen Last‐In/First‐Out‐Stapel (neueste Eingänge werden zuerst ausgegeben).

EingängePUSH : BOOL Neuen Wert übertragen (bei ansteigender Flanke).POP : BOOL Neuen Wert entnehmen (bei ansteigender Flanke).RST : BOOL Liste zurücksetzen.NEXTIN : ANY Zu übertragender Wert.NEXTOUT : ANY Wert oben auf dem Stapel – wird nach dem Aufruf aktualisiert!BUFFER : ANY Array zum Speichern von Werten.

AusgängeEMPTY : BOOL TRUE, wenn der Stapel leer ist.OFLO : BOOL TRUE, wenn ein PUSH-Befehl überläuft.COUNT : DINT Anzahl der Werte im Stapel.PREAD : DINT Index im Puffer oben auf dem Stapel.PWRITE : DINT Index im Puffer der nächsten Übertragungsposition.

AnmerkungenNEXTIN, NEXTOUT und BUFFER müssen denselben Datentyp haben und dürfen nicht STRING sein.

Das Argument NEXTOUT gibt eine Variable an, die nach dem Aufruf des Blocks mit dem Wert oben auf dem Stapel ausgefüllt wird.

Werte werden im BUFFER-Array gespeichert. Daten werden niemals verschoben oder zurückgesetzt. Nur Lese- und Schreibzeiger und übertragene Werte werden aktualisiert. Die maximale Größe des Stapels ist die Dimension des Arrays.

Wenn der Block zum ersten Mal aufgerufen wird, merkt er sich, auf welchem Array er funktionieren sollte. Wenn Sie später dieselbe Instanz mit einem anderen BUFFER-Eingang aufrufen, wird der Aufruf als ungültig betrachtet und bewirkt nichts. In diesem Fall wird ein leerer Stapel ausgegeben.

In der KOP-Sprache ist die Eingangsstufe der PUSH-Eingang. Die Ausgangsstufe ist der EMPTY-Ausgang.

ST‐SpracheMyLIFO ist eine deklarierte Instanz des Funktionsblocks LIFO.

MyLIFO (PUSH, POP, RST, NEXTIN, NEXTOUT, BUFFER);EMPTY := MyLIFO.EMPTY;OFLO := MyLIFO.OFLO;COUNT := MyLIFO.COUNT;PREAD := MyLIFO.PREAD;PWRITE := MyLIFO.PWRITE;

FBD‐Sprache

Page 83: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LIFO

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 75 -

KOP‐Sprache

AWL‐SpracheMyLIFO ist eine deklarierte Instanz des Funktionsblocks LIFO.

Op1: CAL MyLIFO (PUSH, POP, RST, NEXTIN, NEXTOUT, BUFFER)LD MyLIFO.EMPTYST EMPTYLD MyLIFO.OFLOST OFLOLD MyLIFO.COUNTST COUNTLD MyLIFO.PREADST PREADLD MyLIFO.PWRITEST PWRITE

Siehe auchFIFO

Page 84: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LIMIT ZEICHNUNGS-NR. LP1046-A

- 76 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.65 LIMIT

Funktion – Begrenzt eine ganze Zahl zwischen dem unteren und oberen Grenzwert.

EingängeIMIN : DINT Untergrenze.IN : DINT Eingangswert.IMAX : DINT Obergrenze.

AusgängeQ : DINT IMIN wenn IN < IMIN; IMAX wenn IN > IMAX; andernfalls IN.

Funktionsdiagramm

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Andere Eingänge sind Operanden der Funktion, die durch Komma getrennt sind.

ST‐SpracheQ := LIMIT (IMIN, IN, IMAX);

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

Page 85: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LIMIT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 77 -

AWL‐SpracheOp1: LD IMIN

LIMIT IN, IMAXST Q

Siehe auchMIN MAX MOD ODD

Page 86: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LN ZEICHNUNGS-NR. LP1046-A

- 78 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.66 LN

Funktion – Berechnet den natürlichen Logarithmus des Eingangs.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Natürlicher Logarithmus von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := LN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

LNST Q (* Q ist: LN (IN) *)

Siehe auchABS TRUNC POW SQRT

Page 87: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LOADSTRING

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 79 -

2.67 LoadString

Funktion – Lädt eine Zeichenfolge aus der aktiven Zeichenfolgentabelle.

EingängeID : DINT ID der Zeichenfolge, wie in der Zeichenfolgentabelle deklariert.

AusgängeQ : STRING Geladene Zeichenfolge oder leere Zeichenfolge im Falle eines Fehlers.

AnmerkungenDiese Funktion lädt eine Zeichenfolge aus der aktiven Zeichenfolgentabelle und speichert sie in einer STRING-Variable. Die Funktion StringTable() wird zur Auswahl der aktiven Zeichenfolgentabelle verwendet.

Der ID-Eingang (die Zeichenfolgenelement-ID) ist eine Kennung, die in der Zeichenfolgentabellen-Ressource deklariert ist. Sie müssen diese ID nicht erneut „definieren”. Das System erledigt das für Sie.

ST‐SpracheQ := LoadString (ID);

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheOp1: LD ID

LoadStringST Q

Siehe auchStringTableZeichenfolgentabellen

Page 88: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LOBYTE ZEICHNUNGS-NR. LP1046-A

- 80 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.68 LOBYTE

Funktion – Ruft das niederwertige Byte eines Wortes ab.

EingängeIN : UINT 16-Bit-Register.

AusgängeQ : USINT Das niedrigstwertige Byte.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := LOBYTE (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

LOBYTEST Q

Siehe auchHIBYTE LOWORD HIWORD MAKEWORD MAKEDWORD

Page 89: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A LOG

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 81 -

2.69 LOG

Funktion – Berechnet den Logarithmus (Basis 10) des Eingangs.

EingängeIN : REAL Reeller Zahlenwert.

AusgängeQ : REAL Ergebnis: Logarithmus (Basis 10) von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := LOG (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

LOGST Q (* Q ist: LOG (IN) *)

Siehe auchABS TRUNC POW SQRT

Page 90: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018LOWORD ZEICHNUNGS-NR. LP1046-A

- 82 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.70 LOWORD

Funktion – Ruft das niederwertige Wort eines Doppelworts ab.

EingängeIN : UDINT 32-Bit-Register.

AusgängeQ : UINT Das niedrigstwertige Wort.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := LOWORD (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

LOWORDST Q

Siehe auchLOBYTE HIBYTE HIWORD MAKEWORD MAKEDWORD

Page 91: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A < LT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 83 -

2.71 < LT

Operator – Test, ob der erste Eingang kleiner ist als der zweite Eingang.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 < IN2.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der LT-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

ST‐SpracheQ := IN1 < IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist:

AWL‐SpracheOp1: LD IN1

LT IN2ST Q (* Q ist true, wenn IN1 < IN2 *)

Siehe auch> GT >= GE <= LE = EQ <> NE CMP

Page 92: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MAKEDWORD ZEICHNUNGS-NR. LP1046-A

- 84 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.72 MAKEDWORD

Funktion – Legt ein Doppelwort als Verkettung von zwei Wörtern fest.

EingängeHI : UINT Das höchstwertige Wort.LO : UINT Das niedrigstwertige Wort.

AusgängeQ : UDINT 32-Bit-Register.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := MAKEDWORD (HI, LO);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD HI

MAKEDWORD LOST Q

Siehe auchLOBYTE HIBYTE LOWORD HIWORD MAKEWORD

Page 93: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MAKEWORD

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 85 -

2.73 MAKEWORD

Funktion – Erstellt ein Wort als Verkettung von zwei Bytes.

EingängeHI : USINT Das höchstwertige Byte.LO : USINT Das niedrigstwertige Byte.

AusgängeQ : UINT 16-Bit-Register.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := MAKEWORD (HI, LO);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD HI

MAKEWORD LOST Q

Siehe auchLOBYTE HIBYTE LOWORD HIWORD MAKEDWORD

Page 94: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MAX ZEICHNUNGS-NR. LP1046-A

- 86 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.74 MAX

Funktion – Ruft den höheren von zwei Werten ab.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : ANY IN1 wenn IN1 > IN2; andernfalls IN2.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := MAX (IN1, IN2);

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN1

MAX IN2ST Q (* Q ist das Maximum von IN1 und IN2 *)

Siehe auchMIN LIMIT MOD ODD

Page 95: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MBSHIFT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 87 -

2.75 MBSHIFT

Funktion – Multibyte‐Verschiebung/‐Rotation.

EingängeBuffer : SINT/USINT Byte-Array.Pos : DINT Basisposition im Array.NbByte : DINT Anzahl der zu verschiebenden/zu rotierenden Bytes.NbShift : DINT Anzahl der Verschiebungen oder Rotationen.ToRight : BOOL TRUE für rechts / FALSE für links.Rotate : BOOL TRUE für Rotieren / FALSE für Verschieben.InBit : BOOL Bei einer Verschiebung einzusetzendes Bit.

AusgängeQ : BOOL TRUE, wenn erfolgreich.

AnmerkungenVerwenden Sie das Argument ToRight, um eine Verschiebung nach links (FALSE) oder nach rechts (TRUE) anzugeben. Verwenden Sie das Argument Rotate, um entweder eine Verschiebung (FALSE) oder eine Rotation (TRUE) anzugeben. Im Falle einer Verschiebung gibt das Argument InBit den Wert des Bits an, welches das zuletzt verschobene Bit ersetzt.

In der KOP-Sprache validiert der Stufeneingang (EN) den Vorgang. Der Stufenausgang ist das Ergebnis (Q).

ST‐SpracheQ := MBShift (Buffer, Pos, NbByte, NbShift, ToRight, Rotate, InBit);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur aufgerufen, wenn EN TRUE ist:

AWL‐SpracheNicht verfügbar.

Page 96: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MID ZEICHNUNGS-NR. LP1046-A

- 88 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.76 MID

Funktion – Extrahiert Zeichen einer Zeichenfolge an einer beliebigen Position.

EingängeIN : STRING Zeichenfolge.NBC : DINT Anzahl der zu extrahierenden Zeichen.POS : DINT Position des ersten zu extrahierenden Zeichens (erstes Zeichen von IN ist an Position 1).

AusgängeQ : STRING Zeichenfolge, die die ersten NBC-Zeichen von IN enthält.

AnmerkungenDie erste gültige Position ist 1. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Argumente sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := MID (IN, NBC, POS);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

MID NBC, POSST Q

Siehe auch+ ADD MLEN DELETE INSERT FIND REPLACE LEFT RIGHT

Page 97: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MIN

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 89 -

2.77 MIN 

Funktion – Ruft den niedrigeren von zwei Werten ab.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : ANY IN1 wenn IN1 < IN2; andernfalls IN2.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := MIN (IN1, IN2);

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN1

MIN IN2ST Q (* Q ist das Minimum von IN1 und IN2 *)

Siehe auchMAX LIMIT MOD ODD

Page 98: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MLEN ZEICHNUNGS-NR. LP1046-A

- 90 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.78 MLEN

Funktion – Ruft die Anzahl der Zeichen in einer Zeichenfolge ab.

EingängeIN : STRING Zeichenfolge.

AusgängeNBC : DINT Anzahl der Zeichen, die sich derzeit in der Zeichenfolge befinden. 0, wenn die Zeichenfolge leer ist.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheNBC := MLEN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

MLENST NBC

Siehe auch+ ADD DELETE INSERT FIND REPLACE LEFT RIGHT MID

Page 99: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MOD / MODR / MODLR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 91 -

2.79 MOD / MODR / MODLR 

Funktion – Berechnet den Teilungsrest.

EingängeIN : DINT/REAL/LREAL Eingangswert.BASE : DINT/REAL/LREAL Basis des Teilungsrests.

AusgängeQ : DINT/REAL/LREAL Teilungsrest: Rest der Ganzzahl-Division (IN / BASE).

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := MOD (IN, BASE);

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

MOD BASEST Q (* Q ist der Rest der Ganzzahl-Division: IN / BASE *)

Siehe auchMIN MAX LIMIT ODD

Page 100: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018* MUL ZEICHNUNGS-NR. LP1046-A

- 92 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.80 * MUL 

Operator – Führt eine Multiplikation aller Eingänge durch.

EingängeIN1 : ANY_NUM Erster Eingang.IN2 : ANY_NUM Zweiter Eingang.

AusgängeQ : ANY_NUM Ergebnis: IN1 * IN2.

AnmerkungenAlle Eingänge und der Ausgang müssen vom gleichen Typ sein. In der FBD-Sprache kann der Block bis zu 16 Eingänge haben. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache multipliziert der MUL-Befehl das aktuelle Ergebnis mit dem Operanden. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

ST‐SpracheQ := IN1 * IN2;

FBD‐SpracheDer Block kann bis zu 16 Eingänge haben:

KOP‐SPRACHE

Die Multiplikation wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN1

MUL IN2ST Q (* Q ist gleich: IN1 * IN2 *)

Op2: LD IN1MUL IN2MUL IN3ST Q (* Q ist gleich: IN1 * IN2 * IN3 *)

Siehe auch+ ADD - SUB / DIV

Page 101: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MUX4

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 93 -

2.81 MUX4

Funktion – Wählt einen der Eingänge aus – 4 Eingänge.

EingängeSELECT : DINT Auswahlbefehl.IN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.... :IN4 : ANY Letzter Eingang.

Ausgänge Q : ANY IN1 oder IN2 ... oder IN4 je nach SELECT (siehe Wahrheitstabelle).

Wahrheitstabelle

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) die Auswahl. Die Ausgangsstufe behält den gleichen Status bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (Selektor) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Eingänge sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := MUX4 (SELECT, IN1, IN2, IN3, IN4);

FBD‐Sprache

KOP‐SpracheDie Auswahl wird nur durchgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

SELECT Q0 IN1

2 IN2

3 IN3

4 IN4

Andere 0

Page 102: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MUX4 ZEICHNUNGS-NR. LP1046-A

- 94 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐SpracheOp1: LD SELECT

MUX4 IN1, IN2, IN3, IN4ST Q

Siehe auchSEL MUX8

Page 103: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A MUX8

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 95 -

2.82 MUX8

Funktion – Wählt einen der Eingänge aus – 8 Eingänge.

EingängeSELECT : DINT Auswahlbefehl.IN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.... :IN8 : ANY Letzter Eingang.

AusgängeQ : ANY IN1 oder IN2 ... oder IN8 je nach SELECT (siehe Wahrheitstabelle).

Wahrheitstabelle

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) die Auswahl. Die Ausgangsstufe behält den gleichen Status bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (Selektor) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Eingänge sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := MUX8 (SELECT, IN1, IN2, IN3, IN4, IN5, IN6, IN7, IN8);

SELECT Q

0 IN1

1 IN2

2 IN3

3 IN4

4 IN5

5 IN6

6 IN7

7 IN8

Andere 0

Page 104: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018MUX8 ZEICHNUNGS-NR. LP1046-A

- 96 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

FBD‐Sprache

KOP‐Sprache

Die Auswahl wird nur durchgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD SELECT

MUX8 IN1, IN2, IN3, IN4, IN5, IN6, IN7, IN8ST Q

Siehe auchSEL MUX4

Page 105: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A <> NE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 97 -

2.83 <> NE

Operator – Test, ob der erste Eingang nicht gleich dem zweiten Eingang ist.

EingängeIN1 : ANY Erster Eingang.IN2 : ANY Zweiter Eingang.

AusgängeQ : BOOL TRUE, wenn IN1 nicht gleich IN2 ist.

AnmerkungenBeide Eingänge müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis des Vergleichs. In AWL-Sprache führt der NE-Befehl den Vergleich zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

Vergleiche können mit Zeichenfolgen verwendet werden. In diesem Fall wird die lexikalische Reihenfolge zum Vergleichen der Eingangszeichenfolgen verwendet. Beispiel: „ABC” ist kleiner als „ZX”; „ABCD” ist größer als „ABC”.

Vergleiche mit „gleich” können nicht mit TIME-Variablen verwendet werden. Der Grund dafür ist, dass der Timer tatsächlich die Auflösung des Zielzyklus aufweist und der Test unsicher sein kann, da einige Werte möglicherweise nie erreicht werden.

ST‐SpracheQ := IN1 <> IN2;

FBD‐Sprache

KOP‐SpracheDer Vergleich wird nur ausgeführt, wenn EN TRUE ist:

AWL‐SpracheOp1: LD IN1

NE IN2ST Q (* Q ist true, wenn IN1 ungleich IN2 * ist)

Siehe auch> GT < LT >= GE <= LE = EQ CMP

Page 106: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018NEG - ZEICHNUNGS-NR. LP1046-A

- 98 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.84 NEG ‐

Operator – Führt eine Ganzzahl‐Negation des Eingangs durch.

EingängeIN : DINT Ganzzahliger Wert.

AusgängeQ : DINT Ganzzahl-Negation des Eingangs.

Wahrheitstabelle (Beispiele)

AnmerkungenIn den Sprachen FBD und KOP kann der Block NEG verwendet werden. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. Diese Funktion ist in AWL-Sprache nicht verfügbar. In der ST-Sprache kann auf „-” ein komplexer boolescher Ausdruck zwischen Klammern folgen.

ST‐SpracheQ := -IN;Q := - (IN1 + IN2);

FBD‐Sprache

KOP‐SpracheDie Negation wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheNicht verfügbar.

IN Q0 0

1 -1

-123 123

Page 107: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A NOT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 99 -

2.85 NOT

Operator – Führt eine boolesche Negation des Eingangs durch.

EingängeIN : BOOL Boolescher Wert.

AusgängeQ : BOOL Boolesche Negation des Eingangs.

Wahrheitstabelle

AnmerkungenIn der FBD-Sprache kann der Block NOT verwendet werden. Alternativ können Sie auch einen Link verwenden, der durch eine o-Negation beendet wird. In der KOP-Sprache können negierte Kontakte und Spulen verwendet werden. In AWL-Sprache kann der Modifikator N mit den Befehlen LD, AND, OR, XOR und ST verwendet werden. Dies stellt eine Negation des Operanden dar. In der ST-Sprache kann auf NOT ein komplexer boolescher Ausdruck zwischen Klammern folgen.

ST‐SpracheQ := NOT IN;Q := NOT (IN1 OR IN2);

FBD‐Sprache

Explizite Verwendung des NOT-Blocks:

Verwendung eines negierten Links: Q ist IN1 AND NOT IN2:

KOP-SPRACHE

Negierter Kontakt: Q ist: IN1 AND NOT IN2:

Negierte Spule: Q ist NOT (IN1 AND IN2):

IN Q0 1

1 0

Page 108: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018NOT ZEICHNUNGS-NR. LP1046-A

- 100 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐SpracheOp1: LDN IN1

OR IN2ST Q (* Q ist gleich: (NOT IN1) OR IN2 *)

Op2: LD IN1AND IN2STN Q (* Q ist gleich: NOT (IN1 AND IN2) *)

Siehe auchAND OR XOR

Page 109: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A NOT_MASK

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 101 -

2.86 NOT_MASK

Funktion – Führt eine Bit‐zu‐Bit‐Negation eines Ganzzahlwerts durch.

EingängeIN : ANY Ganzzahleingang.

AusgängeQ : ANY Bit-zu-Bit-Negation des Eingangs.

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der Parameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := NOT_MASK (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN

NOT_MASKST Q

Siehe auchAND_MASK OR_MASK XOR_MASK

Page 110: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018NUM_TO_STRING ZEICHNUNGS-NR. LP1046-A

- 102 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.87 NUM_TO_STRING

Funktion – Konvertiert eine Zahl in einen Zeichenfolgenwert.

EingängeIN : ANY Eingangszahl.WIDTH : DINT Gewünschte Länge für die Ausgangszeichenfolge (siehe Anmerkungen).DIGITS : DINT Anzahl der Stellen nach dem Dezimalzeichen.

Ausgänge Q : ANY Wert in Zeichenfolge konvertiert.

AnmerkungenDiese Funktion konvertiert jeden numerischen Wert in eine Zeichenfolge. Im Gegensatz zur Funktion ANY_TO_STRING können Sie hier eine gewünschte Länge und eine Anzahl von Stellen nach dem Dezimalzeichen angeben.

Wenn WIDTH 0 ist, wird die Zeichenfolge mit der erforderlichen Länge formatiert.

Wenn WIDTH größer als 0 ist, wird die Zeichenfolge mit vorangestellten Leerzeichen vervollständigt, um dem Wert von WIDTH zu entsprechen.

Wenn WIDTH größer als 0 ist, wird die Zeichenfolge mit nachgestellten Leerzeichen vervollständigt, um dem absoluten Wert von WIDTH zu entsprechen.

Wenn DIGITS gleich 0 ist, werden weder Dezimalstellen noch Dezimalzeichen hinzugefügt.

Wenn DIGITS größer als 0 ist, wird die entsprechende Anzahl Dezimalstellen hinzugefügt. Bei Bedarf werden „0” Ziffern hinzugefügt.

Wenn der Wert für die angegebene Breite zu lang ist, wird die Zeichenfolge mit „*”-Zeichen aufgefüllt.

BeispieleQ := NUM_TO_STRING (123.4, 8, 2);(* Q ist ' 123.40' *)Q := NUM_TO_STRING (123.4, -8, 2);(* Q ist '123.40 ' *)Q := NUM_TO_STRING (1.333333, 0, 2);(* Q ist '1.33' *)Q := NUM_TO_STRING (1234, 3, 0); (* Q ist '***' *)

Page 111: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ODD

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 103 -

2.88 ODD 

Funktion – Test, ob eine ganze Zahl ungerade ist.

EingängeIN : DINT Eingangswert.

AusgängeQ : BOOL TRUE, wenn IN ungerade ist. FALSE, wenn IN gerade ist.

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe ist das Ergebnis der Funktion. In der AWL-Sprache muss der Eingang vor dem Funktionsaufruf geladen werden.

ST‐SpracheQ := ODD (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.

AWL‐SpracheOp1: LD IN

ODDST Q (* Q ist TRUE, wenn IN ungerade ist *)

Siehe auchMIN MAX LIMIT MOD

Page 112: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018OR / ORN ZEICHNUNGS-NR. LP1046-A

- 104 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.89 OR / ORN

Operator – Führt ein logisches OR aller Eingänge aus.

EingängeIN1 : BOOL Erster boolescher Eingang.IN2 : BOOL Zweiter boolescher Eingang.

AusgängeQ : BOOL Boolesches OR aller Eingänge.

Wahrheitstabelle

AnmerkungenIn der FBD-Sprache kann der Block bis zu 16 Eingänge haben. Der Block wird in FBD-Sprache als „>=1” bezeichnet. In der KOP-Sprache wird ein OR-Vorgang durch parallele Kontakte dargestellt. In der AWL-Sprache führt der OR-Befehl ein logisches OR zwischen dem aktuellen Ergebnis und dem Operanden aus. Das aktuelle Ergebnis muss ein boolescher Wert sein. Der ORN-Befehl führt ein OR zwischen dem aktuellen Ergebnis und der booleschen Negation des Operanden aus.

ST‐SpracheQ := IN1 OR IN2;Q := IN1 OR IN2 OR IN3;

FBD‐SpracheDer Block kann bis zu 16 Eingänge haben:

KOP‐SpracheParallele Kontakte:

IN1 IN2 Q0 0 0

0 1 1

1 0 1

1 1 1

Page 113: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A OR / ORN

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 105 -

AWL‐SpracheOp1: LD IN1

OR IN2ST Q (* Q ist gleich: IN1 OR IN2 *)

Op2: LD IN1ORN IN2ST Q (* Q ist gleich: IN1 OR (NOT IN2) *)

Siehe auchAND XOR NOT

Page 114: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018OR_MASK ZEICHNUNGS-NR. LP1046-A

- 106 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.90 OR_MASK

Funktion – Führt ein Bit‐zu‐Bit‐OR zwischen zwei Ganzzahlwerten aus.

EingängeIN : ANY Erster Eingang.MSK : ANY Zweiter Eingang (OR-Maske).

AusgängeQ : ANY OR-Maske zwischen IN- und MSK-Eingängen.

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der andere Eingang sind die Operanden der Funktion.

ST‐SpracheQ := OR_MASK (IN, MSK);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN

OR_MASKMSKST Q

Siehe auchAND_MASK XOR_MASK NOT_MASK

Page 115: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A PACK8

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 107 -

2.91 PACK8

Funktion – Erstellt ein Byte mit Bits.

EingängeIN0 : BOOL Niederwertiges Bit....IN7 : BOOL Höchstwertiges Bit.

AusgängeQ : USINT Mit Eingangsbits erstelltes Byte.

AnmerkungenIn der KOP-Sprache ist die Eingangsstufe der IN0-Eingang. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := PACK8 (IN0, IN1, IN2, IN3, IN4, IN5, IN6, IN7)

FBD‐Sprache

KOP‐SpracheENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN0

PACK8 IN1, IN2, IN3, IN4, IN5, IN6, IN7ST Q

Siehe auchUNPACK8

Page 116: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018PID ZEICHNUNGS-NR. LP1046-A

- 108 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.92 PID

Funktionsblock – PID‐Regelkreis.

Input Typ BeschreibungAUTO BOOL TRUE = Normalbetrieb – FALSE = manueller Modus.

PV REAL Prozesswert.

SP REAL Sollwert.

Xout_Manu REAL Ausgangswert im manuellen Modus.

KP REAL Verstärkung.

TI REAL Integrationsfaktor.

TD REAL Ableitungsfaktor.

TS TIME Probenahmezeitraum.

XMIN REAL Minimal zulässiger Ausgangswert.

XMAX REAL Maximaler Ausgangswert.

I_SEL BOOL Bei FALSE wird der integrierte Wert ignoriert.

INT_HOLD BOOL TRUE gibt an, dass der integrierte Wert eingefroren ist.

I_ITL_ON BOOL TRUE gibt an, dass der integrierte Wert auf I_ITLVAL zurückgesetzt wird.

I_ITLVAL REAL Wert für Integration zurücksetzen, wenn I_ITL_ON TRUE ist.

DEADB_ERR REALHysterese am PV. PV wird als unverändert angenommen, wenn grö-ßer als (PVprev - DEADBAND_W) und kleiner als (PRprev + DEAD-BAND_W).

FFD REAL Störgröße am Ausgang.

Output Typ BeschreibungXout REAL Ausgangsbefehlswert.

ER REAL Letzter berechneter Fehler.

Xout_P REAL Letzter berechneter Anteilswert.

Xout_I REAL Letzter berechneter integrierter Wert.

Xout_D REAL Letzter berechneter abgeleiteter Wert.

Xout_HLM BOOLTRUE, wenn der Ausgangswert auf XMIN gesättigt wird.

Xout_LLM BOOLTRUE, wenn der Ausgangswert auf XMAX gesättigt wird.

Page 117: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A PID

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 109 -

Diagramm

AnmerkungenFür die Stabilität der Kontrolle ist es wichtig, dass der TS-Probenahmezeitraum viel größer ist als die Zykluszeit.

In der KOP-Sprache hat die Ausgangsstufe denselben Wert wie der AUTO-Eingang, der dem Eingangsstrompfad entspricht.

ST‐SpracheMyPID ist eine deklarierte Instanz des Funktionsblocks PID.

MyPID (AUTO, PV, SP, XOUT_MANU, KP, TI, TD, TS, XMIN, XMAX, I_SEL, I_ITL_ON, I_ITLVAL, DEADB_ERR, FFD);XOUT := MyPID.XOUT;ER := MyPID.ER;XOUT_P := MyPID.XOUT_P;XOUT_I := MyPID.XOUT_I;XOUT_D := MyPID.XOUT_D;XOUT_HLM := MyPID.XOUT_HLM;XOUT_LLM := MyPID.XOUT_LLM;

Page 118: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018PID ZEICHNUNGS-NR. LP1046-A

- 110 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

FBD‐Sprache

KOP‐Sprache

ENO hat den gleichen Status wie die Eingangsstufe.

Page 119: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A PID

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 111 -

AWL‐SpracheMyPID ist eine deklarierte Instanz des Funktionsblocks PID.

Op1: CAL MyPID (AUTO, PV, SP, XOUT_MANU, KP, TI, TD, TS, XMIN, XMAX, I_SEL, I_ITL_ON, I_ITLVAL, DEADB_ERR, FFD)

LD MyPID.XOUTST XOUTLD MyPID.ERST ERLD MyPID.XOUT_PST XOUT_PLD MyPID.XOUT_IST XOUT_ILD MyPID.XOUT_DST XOUT_DLD MyPID.XOUT_HLMST XOUT_HLMLD MyPID.XOUT_LLMST XOUT_LLM

Page 120: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018PLS ZEICHNUNGS-NR. LP1046-A

- 112 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.93 PLS

Funktionsblock – Impulssignalgenerator:

EingängeRUN : BOOL Aktivierungsbefehl.CYCLE : TIME Signaldauer.

AusgängeQ : BOOL Ausgangs-Impulssignal.

Zeitdiagramm

AnmerkungenIn jedem Zeitraum wird der Ausgang für genau einen Zyklus auf TRUE gesetzt. In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Q-Ausgangssignal.

ST‐SpracheMyPLS ist eine deklarierte Instanz des Funktionsblocks PLS:

MyPLS (RUN, CYCLE);Q := MyPLS.Q;

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheMyPLS ist eine deklarierte Instanz des Funktionsblocks PLS:

Op1: CAL MyPLS (RUN, CYCLE)LD MyPLS.QST Q

Siehe auchTON TOF TP

Page 121: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A POW ** POWL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 113 -

2.94 POW ** POWL

Funktion – Berechnet eine Potenz.

EingängeIN : REAL/LREAL Reeller Zahlenwert.EXP : REAL/LREAL Exponent.

AusgängeQ : REAL/LREAL Ergebnis: Potenz 'EXP' von IN.

AnmerkungenAlternativ kann in der ST-Sprache auch der Operator ** verwendet werden. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der Exponent (zweiter Eingang der Funktion) muss der Operand der Funktion sein.

ST‐SpracheQ := POW (IN, EXP);Q := IN ** EXP;

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

POW EXPST Q (* Q ist: (IN ** EXP) *)

Siehe auchABS TRUNC LOG SQRT

Page 122: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018QOR ZEICHNUNGS-NR. LP1046-A

- 114 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.95 QOR

Operator – Zählt die Anzahl der TRUE‐Eingänge.

EingängeIN1 .. INn : BOOL Boolesche Eingänge.

AusgängeQ : DINT Anzahl der Eingänge, die TRUE sind.

AnmerkungenDer Block akzeptiert eine nicht festgelegte Anzahl von Eingängen.

ST‐SpracheQ := QOR (IN1, IN2);Q := QOR (IN1, IN2, IN3, IN4, IN5, IN6);

FBD‐Sprache

Der Block kann bis zu 16 Eingänge haben:

KOP‐Sprache

Der Block kann bis zu 16 Eingänge haben:

AWL‐SpracheOp1: LD IN1

QOR IN2, IN3ST Q

Page 123: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A R

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 115 -

2.96 R

Operator – Zwingt einen booleschen Ausgang auf FALSE.

EingängeRESET : BOOL Bedingung.

AusgängeQ : BOOL Zu erzwingender Ausgang.

Wahrheitstabelle

AnmerkungenS- und R-Operatoren sind in der IL-Sprache als Standardanweisungen verfügbar. In KOP-Sprachen werden sie durch (S)- und (R)-Spulen dargestellt. In der FBD-Sprache können Sie (S)- und (R)-Spulen verwenden, aber Sie sollten RS- und SR-Funktionsblöcke bevorzugen. Set- und Reset-Vorgänge sind in der ST-Sprache nicht verfügbar.

ST‐SpracheNicht verfügbar.

FBD‐SpracheNicht verfügbar. Verwenden Sie RS- oder SR-Funktionsblöcke.

KOP‐Sprache

Verwendung der "R"-Spule:

AWL‐SpracheOp1: LD RESET

R Q (* Q wird auf FALSE gesetzt, wenn RESET TRUE ist *)(* Q bleibt unverändert, wenn RESET FALSE ist *)

Siehe auchS RS SR

RESET Q vorh. Q0 0 0

0 1 1

1 0 0

1 1 0

Page 124: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018R_TRIG ZEICHNUNGS-NR. LP1046-A

- 116 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.97 R_TRIG

Funktionsblock – Erkennung ansteigender Impulse.

EingängeCLK : BOOL Boolesches Signal.

AusgängeQ : BOOL TRUE, wenn der Eingang von FALSE zu TRUE wechselt.

Wahrheitstabelle

AnmerkungenObwohl die Kontakte vom Typ ]P[ und ]N[ in der KOP-Sprache verwendet werden können, wird empfohlen, deklarierte Instanzen der Funktionsblöcke R_TRIG oder F_TRIG zu verwenden, um ein unerwartetes Verhalten während einer Online-Änderung zu vermeiden.

ST‐SpracheMyTrigger wird als Instanz des Funktionsblocks R_TRIG deklariert:

MyTrigger (CLK);Q := MyTrigger.Q;

FBD‐Sprache

KOP‐SpracheDas Eingangssignal ist die Stufe – die Stufe ist der Ausgang:

AWL‐SpracheMyTrigger wird als Instanz des Funktionsblocks R_TRIG deklariert:

Op1: CAL MyTrigger (CLK)LD MyTrigger.QST Q

Siehe auchF_TRIG

CLK CLK vorh. Q0 0 0

0 1 0

1 0 1

1 1 0

Page 125: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A REPLACE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 117 -

2.98 REPLACE

Funktion – Ersetzt Zeichen in einer Zeichenfolge.

EingängeIN : STRING Zeichenfolge.STR : STRING Zeichenfolge, welche die einzufügenden Zeichen enthält. Anstelle von NDEL entfernte Zeichen.NDEL : DINT Anzahl der Zeichen, die vor dem Einfügen von STR gelöscht werden sollen.POS : DINT Position, an der Zeichen ersetzt werden (erste Zeichenposition ist 1).

AusgängeQ : STRING Geänderte Zeichenfolge.

AnmerkungenDie erste gültige Zeichenposition ist 1. In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Argumente sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := REPLACE (IN, STR, NDEL, POS);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

REPLACE STR, NDEL, POSST Q

Siehe auch+ ADD MLEN DELETE INSERT FIND LEFT RIGHT MID

Page 126: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018RIGHT ZEICHNUNGS-NR. LP1046-A

- 118 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.99 RIGHT

Funktion – Extrahiert Zeichen einer Zeichenfolge auf der rechten Seite.

EingängeIN : STRING Zeichenfolge.NBC : DINT Anzahl der zu extrahierenden Zeichen.

AusgängeQ : STRING Zeichenfolge, die die letzten NBC-Zeichen von IN enthält.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der erste Eingang (die Zeichenfolge) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Das zweite Argument ist der Operand der Funktion.

ST‐SpracheQ := RIGHT (IN, NBC);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

RIGHT NBCST Q

Siehe auch+ ADD MLEN DELETE INSERT FIND REPLACE LEFT MID

Page 127: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ROL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 119 -

2.100 ROL

Funktion – Rotiert Bits in einem Register nach links.

EingängeIN : ANY Register.NBR : ANY Anzahl der Rotationen (jede Rotation ist 1 Bit).

AusgängeQ : ANY Rotiertes Register.

Diagramm

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := ROL (IN, NBR);

FBD‐Sprache

KOP‐SpracheDie Rotation wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ROL NBRST Q

Siehe auchSHL SHR ROR SHLb SHRb ROLb RORb SHLw SHRw ROLw RORw

Page 128: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018ROOT ZEICHNUNGS-NR. LP1046-A

- 120 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.101 ROOT

Funktion – Berechnet die n‐te Wurzel des Eingangs.

EingängeIN : REAL Reelle Zahl

N : DINT Basisebene

AusgängeQ : REAL Ergebnis: n-te Wurzel von IN

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := ROOT (IN, N);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ROOT NST Q (* Q ist: ROOT (IN) *)

Page 129: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A ROR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 121 -

2.102 ROR

Funktion – Rotiert Bits in einem Register nach rechts.

EingängeIN : ANY Register.NBR : ANY Anzahl der Rotationen (jede Rotation ist 1 Bit).

AusgängeQ : ANY Rotiertes Register.

Diagramm

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := ROR (IN, NBR);

FBD‐Sprache

KOP‐SpracheDie Rotation wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

ROR NBRST Q

Siehe auchSHL SHR ROL SHLb SHRb ROLb RORb SHLw SHRw ROLw RORw

Page 130: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018RORB ROR_SINT ROR_USINT ROR_BYTE ZEICHNUNGS-NR. LP1046-A

- 122 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.103 RORb ROR_SINT ROR_USINT ROR_BYTE

Funktion – Rotiert Bits in einem Register nach rechts.

EingängeIN : SINT 8-Bit-Register.NBR : SINT Anzahl der Rotationen (jede Rotation ist 1 Bit).

AusgängeQ : SINT Rotiertes Register.

Diagramm

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := RORb (IN, NBR);

FBD‐Sprache

KOP‐SpracheDie Rotation wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

RORb NBRST Q

Siehe auchSHL SHR ROL ROR SHLb SHRb ROLb SHLw SHRw ROLw RORw

Page 131: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A RORW ROR_INT ROR_UINT ROR_WORD

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 123 -

2.104 RORw ROR_INT ROR_UINT ROR_WORD

Funktion – Rotiert Bits in einem Register nach rechts.

EingängeIN : INT 16-Bit-Register.NBR : INT Anzahl der Rotationen (jede Rotation ist 1 Bit).

AusgängeQ : INT Rotiertes Register.

Diagramm

AnmerkungenIn der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := RORw (IN, NBR);

FBD‐Sprache

KOP‐SpracheDie Rotation wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

RORw NBRST Q

Siehe auchSHL SHR ROL ROR SHLb SHRb ROLb RORb SHLw SHRw ROLw

Page 132: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018RS ZEICHNUNGS-NR. LP1046-A

- 124 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.105 RS

Funktionsblock – Setzt dominanten bistabilen Wert zurück.

EingängeSET : BOOL Bedingung für Erzwingen von TRUE.RESET1 : BOOL Bedingung für Erzwingen von FALSE (Befehl mit höchster Priorität).

AusgängeQ1 : BOOL Zu erzwingender Ausgang.

Wahrheitstabelle

AnmerkungenDer Ausgang bleibt unverändert, wenn beide Eingänge FALSE sind. Wenn beide Eingänge TRUE sind, wird der Ausgang auf FALSE gesetzt (dominanten Wert zurücksetzen).

ST‐SpracheMyRS wird als Instanz des Funktionsblocks RS deklariert:

MyRS (SET, RESET1);Q1 := MyRS.Q1;

FBD‐Sprache

KOP‐SpracheDer SET-Befehl ist die Stufe – die Stufe ist der Ausgang:

AWL‐SpracheMyRS wird als Instanz des Funktionsblocks RS deklariert:

Op1: CAL MyRS (SET, RESET1)LD MyRS.Q1ST Q1

SET RESET1 Q1 vorh. Q10 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

Page 133: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A RS

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 125 -

Siehe auchR S SR

Page 134: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018S ZEICHNUNGS-NR. LP1046-A

- 126 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.106 S

Operator – Zwingt einen booleschen Ausgang auf TRUE.

EingängeSET : BOOL Bedingung.

AusgängeQ : BOOL Zu erzwingender Ausgang.

Wahrheitstabelle

AnmerkungenS- und R-Operatoren sind in der IL-Sprache als Standardanweisungen verfügbar. In KOP-Sprachen werden sie durch (S)- und (R)-Spulen dargestellt. In der FBD-Sprache können Sie (S)- und (R)-Spulen verwenden, aber Sie sollten RS- und SR-Funktionsblöcke bevorzugen. Set- und Reset-Vorgänge sind in der ST-Sprache nicht verfügbar.

ST‐SpracheNicht verfügbar.

FBD‐SpracheNicht verfügbar. Verwenden Sie RS- oder SR-Funktionsblöcke.

KOP‐SpracheVerwendung der S-Spule:

AWL‐SpracheOp1: LD SET

S Q (* Q wird auf TRUE gesetzt, wenn SET TRUE ist *)(* Q bleibt unverändert, wenn SET FALSE ist *)

Siehe auchR RS SR

SET Q vorh. Q0 0 0

0 1 1

1 0 1

1 1 1

Page 135: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SCALELIN

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 127 -

2.107 ScaleLin

Funktion – Skalierung – lineare Konvertierung.

EingängeIN : REAL Reeller Zahlenwert.IMIN : REAL Minimaler Eingangswert.IMAX : REAL Maximaler Eingangswert.OMIN : REAL Minimaler Ausgangswert.OMAX : REAL Maximaler Ausgangswert.

AusgängeOUT : REAL Ergebnis: OMIN + IN * (OMAX - OMIN) / (IMAX - IMIN).

Wahrheitstabelle

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheOUT := ScaleLin (IN, IMIN, IMAX, OMIN, OMAX);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

Eingänge OUTIMIN >= IMAX = IN

IN < IMIN = OMIN

IN > IMAX = OMAX

Andere = OMIN + IN * (OMAX - OMIN) / (IMAX - IMIN)

Page 136: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SCALELIN ZEICHNUNGS-NR. LP1046-A

- 128 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

AWL‐SpracheOp1: LD IN

ScaleLin IMAX, IMIN, OMAX, OMIN ST OUT

Page 137: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SEL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 129 -

2.108 SEL

Funktion – Wählt einen der Eingänge aus – 2 Eingänge.

EingängeSELECT : BOOL Auswahlbefehl.IN0 : ANY Erster Eingang.IN1 : ANY Zweiter Eingang.

AusgängeQ : ANY IN1 wenn SELECT FALSE ist; IN2 wenn SELECT TRUE ist

Wahrheitstabelle

AnmerkungenIn der KOP-Sprache ist der Selektor-Befehl die Eingangsstufe. Die Ausgangsstufe behält den gleichen Status bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (Selektor) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Andere Eingänge sind Operanden der Funktion, die durch Kommas getrennt sind.

ST‐SpracheQ := SEL (SELECT, IN0, IN1);

FBD‐Sprache

KOP‐SpracheDer Eingangsstrompfad ist der Selektor.ENO hat den gleichen Wert wie SELECT.

AWL‐SpracheOp1: LD SELECT

SEL IN1, IN2ST Q

Siehe auchMUX4 MUX8

SELECT Q0 IN0

1 IN1

Page 138: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SEMA ZEICHNUNGS-NR. LP1046-A

- 130 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.109 SEMA

Funktionsblock – Semaphor.

EingängeCLAIM : BOOL Übernimmt den Semaphor.RELEASE : BOOL Gibt den Semaphor frei.

AusgängeBUSY : BOOL TRUE, wenn der Semaphor ausgelastet ist.

AnmerkungenDer Funktionsblock implementiert den folgenden Algorithmus:

BUSY := mem;if CLAIM then mem := TRUE;else if RELEASE then BUSY := FALSE; mem := FALSE;end_if;

In der KOP-Sprache ist die Eingangsstufe der CLAIM-Befehl. Die Ausgangsstufe ist das BUSY-Ausgangssignal.

ST‐SpracheMySema ist eine deklarierte Instanz des Funktionsblocks SEMA:

MySema (CLAIM, RELEASE);BUSY := MyBlinker.BUSY;

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheMySema ist eine deklarierte Instanz des Funktionsblocks SEMA:

Op1: CAL MySema (CLAIM, RELEASE)LD MyBlinker.BUSYST BUSY

Page 139: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SETBIT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 131 -

2.110 SETBIT

Funktion – Legt ein Bit in einem Ganzzahl‐Register fest.

EingängeIN : ANY 8- bis 32-Bit-Ganzzahl-Register.BIT : DINT Bitnummer (0 = niederwertiges Bit).VAL : BOOL Anzuwendender Bitwert.

AusgängeQ : ANY Geändertes Register.

AnmerkungenDie Typen LINT, REAL, LREAL, TIME und STRING werden für IN und Q nicht unterstützt. IN und Q und müssen denselben Typ haben. Bei ungültigen Argumenten (ungültige Bitnummer oder ungültiger Eingangstyp) gibt die Funktion den Wert IN ohne Änderung zurück.

In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe.

ST‐SpracheQ := SETBIT (IN, BIT, VAL);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheNicht verfügbar.

Siehe auchTESTBIT

Page 140: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SETWITHIN ZEICHNUNGS-NR. LP1046-A

- 132 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.111 SetWithin 

Funktion – Erzwingt einen Wert innerhalb eines Intervalls

EingängeIN : ANY EingangMIN : ANY Untergrenze des IntervallsMAX : ANY Obergrenze des IntervallsVAL : ANY Wert, der innerhalb des Intervalls angewendet werden soll

AusgängeQ : BOOL Ergebnis

Wahrheitstabelle

AnmerkungenDer Ausgang wird auf VAL gesetzt, wenn der IN-Wert innerhalb des Intervalls [MIN .. MAX] liegt. Liegt er außerhalb des Intervalls, wird er auf IN gesetzt.

IN QIN < MIN IN

IN > MAX IN

MIN < IN < MAX VAL

Page 141: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SHL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 133 -

2.112 SHL

Funktion – Verschiebt Bits in einem Register nach links.

EingängeIN : ANY Register.NBS : ANY Anzahl der Verschiebungen (jede Verschiebung ist 1 Bit).

AusgängeQ : ANY Verschobenes Register.

Diagramm

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := SHL (IN, NBS);

FBD‐Sprache

KOP‐SpracheDie Verschiebung wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

SHL NBSST Q

Siehe auchSHR ROL ROR SHLb SHRb ROLb RORb SHLw SHRw ROLw RORw

Page 142: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SHR ZEICHNUNGS-NR. LP1046-A

- 134 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.113 SHR

Funktion – Verschiebt Bits in einem Register nach rechts.

EingängeIN : ANY Register.NBS : ANY Anzahl der Verschiebungen (jede Verschiebung ist 1 Bit).

AusgängeQ : ANY Verschobenes Register.

WICHTIG!Wenn im Feld „Project settings / Advanced” (Projekteinstellungen / Erweitert) die Option „SHR: do not duplicate the most significant bit” (SHR: Das höchstwertige Bit nicht duplizieren) aktiviert ist, wird das höchstwertige Bit auf FALSE gesetzt.

Wenn die Option nicht aktiviert ist, wird das höchstwertige Bit dupliziert:

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den Status des Eingangsstrompfads bei. In der AWL-Sprache muss der erste Eingang vor dem Funktionsaufruf geladen werden. Der zweite Eingang ist der Operand der Funktion.

ST‐SpracheQ := SHR (IN, NBS);

FBD‐Sprache 

KOP‐SpracheDie Verschiebung wird nur ausgeführt, wenn EN TRUE ist.ENO hat den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

SHR NBSST Q

Page 143: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SHR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 135 -

Siehe auchSHL ROL ROR SHLb SHRb ROLb RORb SHLw SHRw ROLw RORw

Page 144: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SIN SINL ZEICHNUNGS-NR. LP1046-A

- 136 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.114 SIN SINL

Funktion – Berechnet einen Sinus.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Sinus von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := SIN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

SINST Q (* Q ist: SIN (IN) *)

Siehe auchCOS TAN ASIN ACOS ATAN ATAN2

Page 145: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A SQRT SQRTL

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 137 -

2.115 SQRT SQRTL

Funktion – Berechnet die Quadratwurzel des Eingangs.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Quadratwurzel von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := SQRT (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

SQRTST Q (* Q ist: SQRT (IN) *)

Siehe auchABS TRUNC LOG POW

Page 146: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018SR ZEICHNUNGS-NR. LP1046-A

- 138 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.116 SR

Funktionsblock – Legt dominanten bistabilen Wert fest.

EingängeSET1 : BOOL Bedingung für Erzwingen von TRUE (Befehl mit höchster Priorität).RESET : BOOL Bedingung für Erzwingen von FALSE.

AusgängeQ1 : BOOL Zu erzwingender Ausgang.

Wahrheitstabelle

AnmerkungenDer Ausgang bleibt unverändert, wenn beide Eingänge FALSE sind. Wenn beide Eingänge TRUE sind, wird der Ausgang auf TRUE gesetzt (dominanten Wert festlegen).

ST‐SpracheMySR wird als Instanz des Funktionsblocks SR deklariert:

MySR (SET1, RESET);Q1 := MySR.Q1;

FBD‐Sprache

KOP‐SpracheDer Befehl SET1 ist die Stufe – die Stufe ist der Ausgang:

AWL‐SpracheMySR wird als Instanz des Funktionsblocks SR deklariert:

Op1: CAL MySR (SET1, RESET)LD MySR.Q1ST Q1

Siehe auchR S RS

SET1 RESET Q1 vorh. Q10 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

Page 147: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A STRINGTABLE

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 139 -

2.117 StringTable

Funktion – Wählt die aktive Zeichenfolgentabelle aus.

EingängeTABLE : STRING Name der Zeichenfolgentabellen-Ressource – muss eine Konstante sein.COL : STRING Name der Spalte in der Tabelle – muss eine Konstante sein.

AusgängeOK : BOOL TRUE, wenn OK.

Anmerkungen

Diese Funktion wählt eine Spalte einer gültigen Zeichenfolgentabellen-Ressource aus, die zur aktiven Zeichenfolgentabelle wird. Die Funktion LoadString() bezieht sich immer auf die aktive Zeichenfolgentabelle.Argumente müssen konstante Zeichenfolge -Ausdrücke sein und in eine deklarierte Zeichenfolgentabelle und einen gültigen Spaltennamen in dieser Tabelle passen.Wenn Sie nur eine Zeichenfolgentabelle haben, in der nur eine Spalte in Ihrem Projekt definiert ist, müssen Sie diese Funktion nicht aufrufen, da sie ohnehin die Standard-Zeichenfolgentabelle ist.

ST‐SpracheOK := StringTable ('MyTable', 'FirstColumn");

FBD‐Sprache

KOP‐Sprache

AWL‐SpracheOp1: LD 'MyTable'

StringTable' First Column'ST OK

Siehe auchLoadString Zeichenfolgentabellen

Page 148: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018STRINGTOARRAY STRINGTOARRAYU ZEICHNUNGS-NR. LP1046-A

- 140 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.118 StringToArray StringToArrayU

Funktion – Kopiert die Zeichen aus einem STRING in ein SINT‐Array.

EingängeSRC : STRING Quell-STRING.DST : SINT Ziel-Array von SINT kurzen Ganzzahlen (USINT für ArrayToStringU).

AusgängeQ : DINT Anzahl der kopierten Zeichen.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

Diese Funktion kopiert die Zeichen der SRC-Zeichenfolge in die ersten Zeichen des DST-Arrays. Die Funktion prüft die maximale Größe von Ziel-Arrays und reduziert bei Bedarf die Anzahl der kopierten Zeichen.

ST‐SpracheQ := StringToArray (SRC, DST);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD SRC

StringToArray DSTST Q

Siehe auchArrayToString

Page 149: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A - SUB

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 141 -

2.119 ‐ SUB 

Operator – Führt eine Subtraktion der Eingänge durch.

EingängeIN1 : ANY_NUM / TIME Erster Eingang.IN2 : ANY_NUM / TIME Zweiter Eingang.

AusgängeQ : ANY_NUM / TIME Ergebnis: IN1 – IN2.

AnmerkungenAlle Eingänge und der Ausgang müssen vom gleichen Typ sein. In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In der AWL-Sprache führt der SUB-Befehl eine Subtraktion zwischen dem aktuellen Ergebnis und dem Operanden durch. Das aktuelle Ergebnis und der Operand müssen vom gleichen Typ sein.

ST‐SpracheQ := IN1 - IN2;

FBD‐Sprache

KOP‐SpracheDie Subtraktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN1

SUB IN2ST Q (* Q ist gleich: IN1 - IN2 *)

Op2: LD IN1SUB IN2SUB IN3ST Q (* Q ist gleich: IN1 - IN2 - IN3 *)

Siehe auch+ ADD * MUL / DIV

Page 150: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TAN TANL ZEICHNUNGS-NR. LP1046-A

- 142 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.120 TAN TANL

Funktion – Berechnet einen Tangens.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Tangens von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := TAN (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

TANST Q (* Q ist: TAN (IN) *)

Siehe auchSIN COS ASIN ACOS ATAN ATAN2

Page 151: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TESTBIT

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 143 -

2.121 TESTBIT

Funktion – Testet ein Bit in einem Ganzzahl‐Register.

EingängeIN : ANY 8- bis 32-Bit-Ganzzahl-Register.BIT : DINT Bitnummer (0 = niederwertiges Bit).

AusgängeQ : BOOL Bitwert.

AnmerkungenDie Typen LINT, REAL, LREAL, TIME und STRING werden für IN und Q nicht unterstützt. IN und Q und müssen denselben Typ haben. Bei ungültigen Argumenten (ungültige Bitnummer oder ungültiger Eingangstyp) gibt die Funktion FALSE zurück.

In der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe ist die Ausgabe der Funktion.

ST‐SpracheQ := TESTBIT (IN, BIT);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.

AWL‐SpracheNicht verfügbar.

Siehe auchSETBIT

Page 152: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TMD ZEICHNUNGS-NR. LP1046-A

- 144 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.122 TMD

Funktionsblock – Stoppuhr mit Abwärtszählung.

EingängeIN : BOOL Die Zeit wird gemessen, wenn dieser Eingang TRUE ist.RST : BOOL Timer wird auf PT zurückgesetzt, wenn dieser Eingang TRUE ist.PT : TIME Programmierte Zeit.

AusgängeQ : BOOL Ausgangssignal für abgelaufenen Timer.ET : TIME Verstrichene Zeit.

Zeitdiagramm

AnmerkungenDer Timer zählt hoch, wenn der Eingang IN TRUE ist. Er stoppt, wenn die programmierte Zeit abgelaufen ist. Der Timer wird zurückgesetzt, wenn der RST-Eingang TRUE ist. Er wird nicht zurückgesetzt, wenn INFALSE ist.

ST‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TMD.

MyTimer (IN, RST, PT);Q := MyTimer.Q;ET := MyTimer.ET;

FBD‐Sprache

Page 153: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TMD

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 145 -

KOP‐Sprache

AWL‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TMD.

Op1: CAL MyTimer (IN, RST, PT)LD MyTimer.QST QLD MyTimer.ETST ET

Siehe auchTMU

Page 154: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TMU TMUSEC ZEICHNUNGS-NR. LP1046-A

- 146 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.123 TMU TMUsec

Funktionsblock – Stoppuhr mit Aufwärtszählung.

EingängeIN : BOOL Die Zeit wird gemessen, wenn dieser Eingang TRUE ist.RST : BOOL Timer wird auf 0 zurückgesetzt, wenn dieser Eingang TRUE ist.PT : TIME Programmierte Zeit. (TMU)PTsec : UDINT Programmierte Zeit. (TMUsec - Sekunden)

AusgängeQ : BOOL Ausgangssignal für abgelaufenen Timer.ET : TIME Verstrichene Zeit. (TMU)ETsec : UDINT Verstrichene Zeit. (TMU - Sekunden)

Zeitdiagramm

AnmerkungenDer Timer zählt hoch, wenn der Eingang IN TRUE ist. Er stoppt, wenn die programmierte Zeit abgelaufen ist. Der Timer wird zurückgesetzt, wenn der RST-Eingang TRUE ist. Er wird nicht zurückgesetzt, wenn INFALSE ist.

ST‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TMU.

MyTimer (IN, RST, PT);Q := MyTimer.Q;ET := MyTimer.ET;

FBD‐Sprache

Page 155: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TMU TMUSEC

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 147 -

KOP‐Sprache

AWL‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TMU.

Op1: CAL MyTimer (IN, RST, PT)LD MyTimer.QST QLD MyTimer.ETST ET

Siehe auchTMD

Page 156: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TOF TOFR ZEICHNUNGS-NR. LP1046-A

- 148 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.124 TOF TOFR

Funktionsblock – Timer aus.

EingängeIN : BOOL Timer-Befehl.PT : TIME Programmierte Zeit.

RST : BOOL Zurücksetzen (nur TOFR).

AusgängeQ : BOOL Ausgangssignal für abgelaufenen Timer.ET : TIME Verstrichene Zeit.

Zeitdiagramm

AnmerkungenDer Timer startet bei einem abfallenden Impuls des Eingangs IN. Er stoppt, wenn die verstrichene Zeit der programmierten Zeit entspricht. Ein ansteigender Impuls des Eingangs IN setzt den Timer auf 0 zurück. Das Ausgangssignal wird auf TRUE gesetzt, wenn der Eingang IN auf TRUE ansteigt, und auf FALSEzurückgesetzt, nachdem die programmierte Zeit abgelaufen ist.

TOFR ist mit TOF identisch, verfügt jedoch über einen zusätzlichen Eingang zum Zurücksetzen des Timers.

In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Ausgangssignal Q.

ST‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TOF.

MyTimer (IN, PT);Q := MyTimer.Q;ET := MyTimer.ET;

FBD‐Sprache

KOP‐Sprache

Page 157: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TOF TOFR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 149 -

AWL‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TOF.

Op1: CAL MyTimer (IN, PT)LD MyTimer.QST QLD MyTimer.ETST ET

Siehe auchTON TP BLINK

Page 158: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TON ZEICHNUNGS-NR. LP1046-A

- 150 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.125 TON

Funktionsblock – Timer ein.

EingängeIN : BOOL Timer-Befehl.PT : TIME Programmierte Zeit.

AusgängeQ : BOOL Ausgangssignal für abgelaufenen Timer.ET : TIME Verstrichene Zeit.

Zeitdiagramm

AnmerkungenDer Timer startet bei einem ansteigenden Impuls des Eingangs IN. Er stoppt, wenn die verstrichene Zeit der programmierten Zeit entspricht. Ein abfallender Impuls des Eingangs IN setzt den Timer auf 0 zurück. Das Ausgangssignal wird bei Ablauf der programmierten Zeit auf TRUE gesetzt und bei abfallendem Eingangsbefehl auf FALSE zurückgesetzt.

In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Ausgangssignal Q.

ST‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TON.

MyTimer (IN, PT);Q := MyTimer.Q;ET := MyTimer.ET;

FBD‐Sprache

KOP‐Sprache

Page 159: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TON

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 151 -

AWL‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TON.

Op1: CAL MyTimer (IN, PT)LD MyTimer.QST QLD MyTimer.ETST ET

Siehe auchTOF TP BLINK

Page 160: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TP TPR ZEICHNUNGS-NR. LP1046-A

- 152 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.126 TP TPR

Funktionsblock – Impuls‐Timer.

EingängeIN : BOOL Timer-Befehl.PT : TIME Programmierte Zeit.RST : BOOL Zurücksetzen (nur TPR).

AusgängeQ : BOOL Ausgangssignal für abgelaufenen Timer.ET : TIME Verstrichene Zeit.

Zeitdiagramm

AnmerkungenDer Timer startet bei einem ansteigenden Impuls des Eingangs IN. Er stoppt, wenn die verstrichene Zeit der programmierten Zeit entspricht. Ein abfallender Impuls des Eingangs IN setzt den Timer nur dann auf 0 zurück, wenn die programmierte Zeit abgelaufen ist. Alle Impulse von IN werden ignoriert, während der Timer läuft. Das Ausgangssignal wird auf TRUE gesetzt, während der Timer läuft.

TPR ist mit TP identisch, verfügt jedoch über einen zusätzlichen Eingang zum Zurücksetzen des Timers.

In der KOP-Sprache ist die Eingangsstufe der IN-Befehl. Die Ausgangsstufe ist das Ausgangssignal Q.

ST‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TP.

MyTimer (IN, PT);Q := MyTimer.Q;ET := MyTimer.ET;

FBD‐Sprache

KOP‐Sprache

Page 161: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A TP TPR

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 153 -

AWL‐SpracheMyTimer ist eine deklarierte Instanz des Funktionsblocks TP.

Op1: CAL MyTimer (IN, PT)LD MyTimer.QST QLD MyTimer.ETST ET

Siehe auchTON TOF BLINK

Page 162: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018TRUNC TRUNCL ZEICHNUNGS-NR. LP1046-A

- 154 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.127 TRUNC TRUNCL

Funktion – Kürzt den Dezimalteil des Eingangs.

EingängeIN : REAL/LREAL Reeller Zahlenwert.

AusgängeQ : REAL/LREAL Ergebnis: Ganzzahliger Teil von IN.

AnmerkungenIn der KOP-Sprache wird der Vorgang nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist. Die Ausgangsstufe (ENO) behält den gleichen Wert bei wie die Eingangsstufe. In AWL muss der Eingang in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann.

ST‐SpracheQ := TRUNC (IN);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO behält den gleichen Wert wie EN.

AWL‐SpracheOp1: LD IN

TRUNCST Q (* Q ist der ganzzahlige Teil von IN *)

Siehe auchABS LOG POW SQRT

Page 163: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A UNPACK8

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 155 -

2.128 UNPACK8

Funktionsbaustein – Extrahiert Bits eines Bytes.

EingängeIN : USINT 8-Bit-Register.

AusgängeQ0 : BOOL Niederwertiges Bit....Q7 : BOOL Höchstwertiges Bit.

AnmerkungenIn der KOP-Sprache ist die Ausgangsstufe der Q0-Ausgang. Der Vorgang wird nur ausgeführt, wenn die Eingangsstufe (EN) TRUE ist.

ST‐SpracheMyUnpack ist eine deklarierte Instanz des Funktionsblocks UNPACK8.

MyUnpack (IN);

Q0 := MyUnpack.Q0;Q1 := MyUnpack.Q1;Q2 := MyUnpack.Q2;Q3 := MyUnpack.Q3;Q4 := MyUnpack.Q4;Q5 := MyUnpack.Q5;Q6 := MyUnpack.Q6;Q7 := MyUnpack.Q7;

FBD‐Sprache

Page 164: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018UNPACK8 ZEICHNUNGS-NR. LP1046-A

- 156 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

KOP‐SpracheDer Vorgang wird ausgeführt, wenn EN = TRUE:

AWL‐SpracheMyUnpack ist eine deklarierte Instanz des Funktionsblocks UNPACK8.

Op1: CAL MyUnpack (IN)LD MyUnpack.Q0ST Q0(* ... *)LD MyUnpack.Q7ST Q7

Siehe auchPACK8

Page 165: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A USEDEGREES

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 157 -

2.129 UseDegrees

Funktion – Legt die Einheit für Winkel in allen trigonometrischen Funktionen fest.

EingängeIN : BOOL Wenn TRUE, werden alle trigonometrischen Funktionen auf die Verwendung von Grad gesetzt. Wenn FALSE, werden alle trigonometrischen Funktionen auf die Verwendung von Radianten (Standard) gesetzt.

AusgängeQ : BOOL TRUE, wenn Funktionen vor dem Aufruf Grad verwenden.

AnmerkungenMit dieser Funktion wird die Arbeitseinheit für die folgenden Funktionen eingestellt:

ST‐SpracheQ := UseDegrees (IN);

FBD‐Sprache

KOP‐SpracheDer Eingang ist der Strompfad. Die Stufe ist der Ausgang.

AWL‐SpracheOp1: LD IN

UseDegreesST Q

Code FunktionSINCOSTANASINACOSATANATAN2

SinusCosinusTangensArcussinusArcuscosinusArcustangensArcustangens von Y / X

Page 166: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

FUNKTIONSBLÖCKE UND OPERATOREN ÜBERARBEITET 24.11.2018XOR XORN ZEICHNUNGS-NR. LP1046-A

- 158 - Crimson® 3.1 Funktionsblock-Referenzhandbuch

2.130 XOR XORN

Operator – Führt ein exklusives OR aller Eingänge aus.

EingängeIN1 : BOOL Erster boolescher Eingang.IN2 : BOOL Zweiter boolescher Eingang.

AusgängeQ : BOOL Exklusives OR aller Eingänge.

Wahrheitstabelle

AnmerkungenDer Block wird in den Sprachen FBD und KOP „=1” genannt. In der AWL-Sprache führt der XOR-Befehl ein exklusives OR zwischen dem aktuellen Ergebnis und dem Operanden aus. Das aktuelle Ergebnis muss ein boolescher Wert sein. Der Befehl XORN führt eine exklusives OR zwischen dem aktuellen Ergebnis und der booleschen Negation des Operanden aus.

ST‐SpracheQ := IN1 XOR IN2;Q := IN1 XOR IN2 XOR IN3;

FBD‐Sprache

KOP‐SpracheDer erste Eingang ist der Strompfad. Die Stufe ist der Ausgang:

AWL‐SpracheOp1: LD IN1

XOR IN2ST Q (* Q ist gleich: IN1 XOR IN2 *)

Op2: LD IN1XORN IN2ST Q (* Q ist gleich: IN1 XOR (NOT IN2) *)

Siehe auchAND OR NOT

IN1 IN2 Q0 0 0

0 1 1

1 0 1

1 1 0

Page 167: Crimson 3.1 Funktionsblock-Referenzhandbuch 3.1... · 2020-01-30 · Crimson® 3.1 ist für die Ausführung unter einer beliebigen Version von Microsoft Windows ab Windows 7 ausgelegt

 

ÜBERARBEITET 24.11.2018 FUNKTIONSBLÖCKE UND OPERATOREN

ZEICHNUNGS-NR. LP1046-A XOR_MASK

Crimson® 3.1 Funktionsblock-Referenzhandbuch - 159 -

2.131 XOR_MASK

FunktionFührt ein exklusives Bit-zu-Bit-OR zwischen zwei Ganzzahlwerten aus

EingängeIN : ANY Erster Eingang.MSK : ANY Zweiter Eingang (XOR-Maske).

AusgängeQ : ANY Exklusive OR-Maske zwischen IN- und MSK-Eingängen.

AnmerkungenArgumente können aus Ganzzahlen mit oder ohne Vorzeichen von 8 bis 32 Bits bestehen.

In der KOP-Sprache aktiviert die Eingangsstufe (EN) den Vorgang, und die Ausgangsstufe behält den gleichen Wert bei wie die Eingangsstufe. In AWL-Sprache muss der erste Parameter (IN) in das aktuelle Ergebnis geladen werden, bevor die Funktion aufgerufen werden kann. Der andere Eingang sind die Operanden der Funktion.

ST‐SpracheQ := XOR_MASK (IN, MSK);

FBD‐Sprache

KOP‐SpracheDie Funktion wird nur ausgeführt, wenn EN TRUE ist.ENO ist gleich EN.

AWL‐SpracheOp1: LD IN

XOR_MASK MSKST Q

Siehe auchAND_MASK OR_MASK NOT_MASK