WinSPS Software
KV-Diagramm auflösen
Umwandlungstools
Binary-Decimal Converter
SPS-Forum
SPS-Lehrgang
SPS-Erklärvideos
Bit, Byte, Doppelwort
Zahlensysteme
Das Statuswort in der SPS
und die Bedeutung der einzelnen Bits
S7 Byte-Reihenfolge ist BIG Endian.
Mit TAD und TAW kann man die Reihenfolge ändern
Safety im Tia Portal. Eine kleine
Einführung
Befehle/Operationen in AWL
Funktion | Beschreibung | Funktionsart |
---|---|---|
= | Zuweisung | Bitverknüpfung |
) | Verzweigung schließen | Bitverknüpfung |
*D | AKKU1 und AKKU2 multiplizieren | 32-Bit Festpunkt-Funktion |
*I | AKKU1 und AKKU2 multiplizieren | 16-Bit Festpunkt-Funktion |
*R | AKKU1 und AKKU2 multiplizieren | 32-Bit Gleitpunkt-Funktion |
/D | AKKU2 durch AKKU1 dividieren | 32-Bit Festpunkt-Funktion |
/I | AKKU2 durch AKKU1 dividieren | 16-Bit Festpunkt-Funktion |
/R | AKKU2 durch AKKU1 dividieren | 32-Bit Gleitpunkt-Funktion |
= = D | AKKU2 gleich AKKU1 | Vergleicher |
<>D | AKKU2 ungleich AKKU1 | Vergleicher |
>D | AKKU2 größer als AKKU1 | Vergleicher |
<D | AKKU2 kleiner als AKKU1 | Vergleicher |
>=D | AKKU2 größer oder gleich AKKU1 | Vergleicher |
<=D | AKKU2 kleiner oder gleich AKKU1 | Vergleicher |
= = I | AKKU2 gleich AKKU1 | Vergleicher |
<>I | AKKU2 ungleich AKKU1 | Vergleicher |
>I | AKKU2 größer als AKKU1 | Vergleicher |
<I | AKKU2 kleiner als AKKU1 | Vergleicher |
>=I | AKKU2 größer oder gleich AKKU1 | Vergleicher |
<=I | AKKU2 kleiner oder gleich AKKU1 | Vergleicher |
= = R | AKKU2 gleich AKKU1 | Vergleicher |
<>R | AKKU2 ungleich AKKU1 | Vergleicher |
>R | AKKU2 größer als AKKU1 | Vergleicher |
<R | AKKU2 kleiner als AKKU1 | Vergleicher |
>=R | AKKU2 größer oder gleich AKKU1 | Vergleicher |
<=R | AKKU2 kleiner oder gleich AKKU1 | Vergleicher |
+ | Ganzzahl addieren | 16/32-Bit Festpunkt-Funktion |
+AR1 | AKKU1 zum Adressregister 1 addieren | Akkumulatorfunktion |
+AR2 | AKKU1 zum Adressregister 2 addieren | Akkumulatorfunktion |
+D | AKKU1 und AKKU2 addieren | 32-Bit Festpunkt-Funktion |
+I | AKKU1 und AKKU2 addieren | 16-Bit Festpunkt-Funktion |
+R | AKKU1 und AKKU2 addieren | 32-Bit Gleitpunkt-Funktion |
-D | AKKU1 von AKKU2 subtrahieren | 32-Bit Festpunkt-Funktion |
-I | AKKU1 von AKKU2 subtrahieren | 16-Bit Festpunkt-Funktion |
-R | AKKU1 von AKKU2 subtrahieren | 32-Bit Gleitpunkt-Funktion |
ABS | Absolutwert der Gleitpunktzahl in AKKU1 | 32-Bit Gleitpunkt-Funktion |
ACOS | Arcuscosinus bilden | 32-Bit Gleitpunkt-Funktion |
ASIN | Arcussinus bilden | 32-Bit Gleitpunkt-Funktion |
ATAN | Arcustangens bilden | 32-Bit Gleitpunkt-Funktion |
AUF | Datenbaustein aufschlagen | Bausteinoperation |
BE | Bausteinende | Programmsteuerung |
BEA | Bausteinende absolut | Programmsteuerung |
BEB | Bausteinende bedingt | Programmsteuerung |
BLD | Bildbefehl (Nulloperation) | Akkumulatorfunktion |
BTD | BCD in Ganzzahl umwandeln (7 Stellen und eine Stelle Vorzeichen) | Umwandler |
BTI | BCD in Ganzzahl umwandeln (3 Stellen und eine Stelle Vorzeichen) | Umwandler |
CALL | Bausteinaufruf | Programmsteuerung |
CC | Bedingter Bausteinaufruf | Programmsteuerung |
CLR | VKE auf 0 setzen | Bitverknüpfung |
COS | Cosinus eines Winkels bilden | 32-Bit Gleitpunkt-Funktion |
DEC | AKKU1 dekrementieren | Akkumulatorfunktion |
DTB | Ganzzahl in BCD umwandeln (7 Stellen und eine Stelle Vorzeichen) | Umwandler |
DTR | Ganzzahl in Gleitpunktzahl umwandeln | Umwandler |
ENT | Enter AKKU-Stack | Akkumulatorfunktion |
EXP | Exponentialwert bilden | 32-Bit Gleitpunkt-Funktion |
FN | Negative Flanke | Bitverknüpfung |
FP | Positive Flanke | Bitverknüpfung |
FR | Freigabe TIMER, COUNTER | Zeiten, Zähler |
INC | AKKU1 inkrementieren | Akkumulatorfunktion |
INVD | 1er Komplement Ganzzahl | Umwandler |
INVI | 1er Komplement Ganzzahl | Umwandler |
ITB | Ganzzahl in BCD umwandeln (3 Stellen und eine Stelle Vorzeichen) | Umwandler |
ITD | Ganzzahl in Ganzzahl umwandeln | Umwandler |
L DBLG | Länge von Globaldatenbaustein in AKKU1 laden | Bausteinoperation |
L DBNO | Nummer von Globaldatenbaustein in AKKU1 laden | Bausteinoperation |
L DILG | Länge von Instanzdatenbaustein in AKKU1 laden | Bausteinoperation |
L DINO | Nummer von Instanzdatenbaustein in AKKU1 laden | Bausteinoperation |
L | Aktuellen Wert als Ganzzahl in AKKU1 laden | Laden und Transferieren |
L STW | Statuswort in AKKU1 laden | Laden und Transferieren |
LAR1 | Adressregister 1 laden | Laden und Transferieren |
LAR2 | Adressregister 2 laden | Laden und Transferieren |
LC | Aktuellen Zeitwert oder Zählerwert als BCD-Wert in AKKU1 laden | Zeiten / Zähler |
LEAVE | Leave AKKU-Stack | Akkumulatorfunktion |
LN | natürlichen Logarithmus bilden | 32-Bit Gleitpunkt-Funktion |
LOOP | Programmschleife | Sprungfunktion |
MCR( | VKE im MCR-Stack sichern | Programmsteuerung |
)MCR | MCR-Bereich beenden | Programmsteuerung |
MCRA | MCR-Bereich aktivieren | Programmsteuerung |
MCRD | MCR_Bereich aktivieren | Programmsteuerung |
MOD | Divisionsrest Ganzzahl | 32-Bit Festpunkt-Funktion |
NEGD | 2er Komplement Ganzzahl | Umwandler |
NEGI | 2er Komplement Ganzzahl | Umwandler |
NEGR | Vorzeichenwechsel einer Gleitpunktzahl | Umwandler |
NOP 0 | Nulloperation 0 | Akkumulatorfunktion |
NOP 1 | Nulloperation 1 | Akkumulatorfunktion |
NOT | VKE negieren (=0) | Bitverknüpfung |
O | ODER bzw. UND vor ODER | Bitverknüpfung |
O( | ODER mit Verzweigung | Bitverknüpfung |
OD | ODER-Doppelwort | Wortverknüpfung |
ON | ODER NICHT | Bitverknüpfung |
ON( | ODER NICHT mit Verzweigung | Bitverknüpfung |
OW | ODER-Wort | Wortverknüpfung |
POP | Akkumulatoren nach unten verschieben | Akkumulatorfunktion |
PUSH | Akkumulatoren nach oben verschieben | Akkumulatorfunktion |
R | Rücksetzen | Bitverknüpfung |
RLD | Doppelwort nach links rotieren | Schiebefunktion |
RLDA | Akku1 nach links rotieren über A1-Anzeige | Schiebefunktion |
RND | Gleitpunktzahl zur Ganzzahl runden | Umwandler |
RND- | Gleitpunktzahl zur nächstniederen Ganzzahl runden | Umwandler |
RND+ | Gleitpunktzahl zur nächsthöheren Ganzzahl runden | Umwandler |
RRD | Doppelwort nach rechts rotieren | Schiebefunktion |
RRDA | Akku1 nach rechts rotieren über A1-Anzeige | Schiebefunktion |
S | Setzen | Bitverknüpfung |
SA | Zeit mit Ausschaltverzögerung starten | Zeitfunktion |
SAVE | VKE im BIE-Bit sichern | Bitverknüpfung |
SE | Zeit mit Einschaltverzögerung starten | Zeitfunktion |
SET | VKE auf 1 setzen (=1) | Bitverknüpfung |
SI | Zeit als Impuls starten | Zeitfunktion |
SIN | Sinus eines Winkels als Gleitpunktzahl bilden | 32-Bit Gleitpunkt-Funktion |
SLD | Schiebe Doppelwort nach links | Schiebefunktion |
SLW | Schiebe Wort nach links | Schiebefunktion |
SPA | Springe absolut | Sprungfunktion |
SPB | Springe wenn VKE = 1 | Sprungfunktion |
SPBB | Springe wenn VKE = 1 und rette VKE ins BIE | Sprungfunktion |
SPBI | Springe wenn BIE = 1 | Sprungfunktion |
SPBIN | Springe wenn BIE = 0 | Sprungfunktion |
SPBN | Springe wenn VKE = 0 | Sprungfunktion |
SPBNB | Springe wenn VKE = 0 und rette VKE ins BIE | Sprungfunktion |
SPL | Sprungleiste | Sprungfunktion |
SPM | Springe wenn Ergebnis <0 | Sprungfunktion |
SPMZ | Springe wenn Ergebnis <=0 | Sprungfunktion |
SPN | Springe wenn Ergebnis <>0 | Sprungfunktion |
SPO | Springe wenn OV =1 | Sprungfunktion |
SPP | Springe wenn Ergebnis >0 | Sprungfunktion |
SPPZ | Springe wenn Ergebnis >=0 | Sprungfunktion |
SPS | Springe wenn OS = 1 | Sprungfunktion |
SPU | Springe wenn Ergebnis ungültig | Sprungfunktion |
SPZ | Springe wenn Ergebnis = 0 | Sprungfunktion |
SQR | Quadrats einer Gleitpunktzahl bilden | 32-Bit Gleitpunkt-Funktion |
SQRT | Quadratwurzel einer Gleitpunktzahl bilden | 32-Bit Gleitpunkt-Funktion |
SRD | Doppelwort nach rechts schieben | Schiebefunktion |
SRW | Wort nach rechts schieben | Schiebefunktion |
SS | Zeit mit speichernder Einschaltverzögerung starten | Zeitfunktion |
SSD | Vorzeichen einer Ganzzahl nach rechts schieben | Schiebefunktion |
SSI | Vorzeichen einer Ganzzahl nach rechts schieben | Schiebefunktion |
SV | Zeit als Zeit mit verlängertem Impuls starten | Zeitfunktion |
T | Transferieren | Laden und Transferieren |
TAD | Reihenfolge der Bytes im AKKU 1 tauschen | Umwandler |
TAK | AKKU1 mit AKKU2 tauschen | Akkumulatorfunktion |
TAN | Tangens eines Winkels als Gleitpunktzahl bilden | 32-Bit Gleitpunkt-Funktion |
TAR | Adressregister 1 mit 2 tauschen | Laden und Transferieren |
TAR1 | Adressregister 1 transferieren | Laden und Transferieren |
TAR2 | Adressregister 2 transferieren | Laden und Transferieren |
TAW | Reihenfolge der Bytes im AKKU1-L tauschen | Umwandler |
TDB | Globaldatenbaustein und Instanzdatenbaustein tauschen | Bausteinoperation |
TRUNC | Gleitpunktzahl durch Abschneiden runden | Umwandler |
U | UND-Verknüpfung | Bitverknüpfung |
U( | UND mit Verzweigung | Bitverknüpfung |
UC | Unbedingter Aufruf eines Bausteins | Programmsteuerung |
UD | UND-Doppelwort | Wortverknüpfung |
UN | UND NICHT | Bitverknüpfung |
UN( | UND NICHT mit Verzweigung | Bitverknüpfung |
UW | UND-Wort | Wortverknüpfung |
X | Exklusiv-ODER | Bitverknüpfung |
X( | Exklusiv-ODER mit Verzweigung | Bitverknüpfung |
XN | Exklusiv-ODER-NICHT | Bitverknüpfung |
XN( | Exklusiv-ODER-NICHT mit Verzweigung | Bitverknüpfung |
XOD | Exklusiv-ODER-Doppelwort | Wortverknüpfung |
XOW | Exklusiv-ODER-Wort | Wortverknüpfung |
ZR | Rückwärtszählen | Zählerfunktion |
ZV | Vorwärtszählen | Zählerfunktion |
Beispiel für die Eingabe von Operanden in Variablentabellen
Erlaubter Operand: | Datentyp: | Beispiel (Mnemonik deutsch): |
Eingang | Ausgang | Merker | BOOL | E 1.0 | A 1.7 | M 10.1 |
Eingang | Ausgang | Merker | BYTE | EB 1 | AB 10 | MB 100 |
Eingang | Ausgang | Merker | WORD | EW 1 | AW 10 | MW 100 |
Eingang | Ausgang | Merker | DWORD | ED 1 | AD 10 | MD 100 |
Peripherie (Eingang | Ausgang) | BYTE | PEB 0 | PAB 1 |
Peripherie (Eingang | Ausgang) | WORD | PEW 0 | PAW 1 |
Peripherie (Eingang | Ausgang) | DWORD | PED 0 | PAD 1 |
Zeiten | TIMER | T 1 |
Zähler | COUNTER | Z 1 |
Datenbaustein | BOOL | DB1.DBX 1.0 |
Datenbaustein | BYTE | DB1.DBB 1 |
Datenbaustein | WORD | DB1.DBW 1 |
Datenbaustein | DWORD | DB1.DBD 1 |
Symboleditor - Datentyp | VAT - Anzeigeformat |
alle Datentype | Binär |
Bool | Bool |
INT, DINT | Dezimal |
Word, Dword | Hexadezimal |
REAL | Gleitpunkt |
CHAR | Zeichen |
DATE | Datum |
TIME | Zeit |
TIMER | Simatic-Zeit |
TOD | Tageszeit |
COUNTER | Zähler |
Word, Dword (Pointer) | Zeiger |
Liste der Abkürzungen
BCD – binär codierte Dezimalzahl
CP - Kommunikationsprozessor
CPU- central prozessing unit
DB - Datenbaustein
DP – dezentrale Peripherie
ES – Endlagenschalter
EVA – Eingabe, Verarbeitung, Ausgabe
FB - Funktionsbaustein
FC – Funktion
FM - Fuktionsmodul
HW – Hardware
IM – Interface Modul
MMC – micro-memmory-card
MPI – multi-point-interface
NO – normaly open – Schließer. Eingang 0 wenn nicht betätigt
NC – normaly closed – Öffner, Eingang 1 wenn nicht betätigt
OB - Organisationsbaustein
PG – Programmiergerät
PLC – programable logical controller
PLCSIM – Simulator-Schnittstelle
PN - Profinet
PS – power supply – Netzteil
SM - Signalmodul
SPS – speicherprogrammierbare Steuerung
VAT - Variablentabelle
VPS – verbindungsprogrammierte Steuerung
Elementare Datentypen
Jeder elementare Datentyp hat eine definierte Länge. Die folgende Tabelle listet die elementaren Datentypen auf.
Typ und Beschreibung | Größe in Bits | Formatoptionen | Bereich und Zahlendarstellung (niedrigster bis höchster Wert) | Beispiel |
BOOL (Bit) |
1 | Bool-Text | TRUE/FALSE | TRUE |
BYTE (Byte) |
8 | Hexadezimalzahl | B#16#0 bis B#16#FF | L B#16#10 L byte#16#10 |
WORD (Wort) | 16 | Dualzahl Hexadezimalzahl BCD Dezimalzahl ohne Vorzeichen |
2#0 bis 2#1111_1111_1111_1111 W#16#0 bis W#16#FFFF C#0 bis C#999 B#(0,0) bis B#(255,255) |
L 2#0001_0000_0000_0000 L W#16#1000 L word#16#1000 L C#998 L B#(10,20) L byte#(10,20) |
DWORD (Doppelwort) |
32 | Dualzahl Hexadezimalzahl Dezimalzahl ohne Vorzeichen |
2#0 bis 2#1111_1111_1111_1111_ 1111_1111_1111_1111 DW#16#0000_0000 bis DW#16#FFFF_FFFF B#(0,0,0,0) bis B#(255,255,255,255) |
2#1000_0001_0001_1000_ 1011_1011_0111_1111 L DW#16#00A2_1234 L dword#16#00A2_1234 L B#(1, 14, 100, 120) L byte#(1,14,100,120) |
INT (Ganzzahl) | 16 | Dezimalzahl mit Vorzeichen | -32768 bis 32767 | L 1 |
DINT (Ganzzahl, 32 Bit) |
32 | Dezimalzahl mit Vorzeichen | L#-2147483648 bis L#2147483647 | L L#1 |
REAL (Gleitpunktzahl) |
32 | IEEE Gleitpunktzahl | Obere Grenze: ±3.402823e+38 Untere Grenze: ±1.175 495e-38 |
L 1.234567e+13 |
S5TIME (SIMATIC-Zeit) | 16 | S7-Zeit in Schritten von 10 ms (Default-Wert) | S5T#0H_0M_0S_10MS bis S5T#2H_46M_30S_0MS und S5T#0H_0M_0S_0MS |
L S5T#0H_1M_0S_0MS L S5TIME#0H_1H_1M_0S_0MS |
TIME (IEC-Zeit) | 32 | IEC-Zeit in Schritten von 1 ms, Ganzzahl mit Vorzeichen | T#-24D_20H_31M_23S_648MS bis T#24D_20H_31M_23S_647MS |
L T#0D_1H_1M_0S_0MS L TIME#0D_1H_1M_0S_0MS |
DATE (IEC-Datum) |
16 | IEC-Datum in Schritten von 1 Tag | D#1990-1-1 bis D#2168-12-31 |
L D#1994-3-15 L DATE#1994-3-15 |
TIME_OF_DAY (Uhrzeit) |
32 | Uhrzeit in Schritten von 1 ms | TOD#0:0:0.0 bis TOD#23:59:59.999 |
L TOD#1:10:3.3 L TIME_OF_DAY#1:10:3.3 |
CHAR (Zeichen) |
8 | ASCII-Zeichen | ’A’,’B’ usw. | L ’E’ |
- Parametertypen
Zusätzlich zu elementaren und zusammengesetzten Datentypen können Sie Parametertypen für Formalparameter definieren, die zwischen Bausteinen übergeben werden. STEP 7 kennt folgende Parametertypen:
- TIMER oder COUNTER: legen eine bestimmte Zeit oder einen bestimmten Zähler fest, der bei der Bearbeitung verwendet werden soll. Wenn Sie einen Formalparameter vom Parametertyp TIMER oder COUNTER versorgen, muss der zugehörige Aktualparameter eine Zeit oder ein Zähler sein, d. h. Sie geben ein "T" oder "Z" an, auf das eine positive Ganzzahl folgt.
- BLOCK: legt einen bestimmten Baustein fest, der als Eingang oder als Ausgang verwendet werden soll. Die Deklaration des Parameters bestimmt die Bausteinart (FB, FC, DB usw.), die verwendet werden soll. Wenn Sie einen Formalparameter vom Parametertyp BLOCK versorgen, geben Sie eine Bausteinadresse als Aktualparameter an. Beispiel: "FC101" (bei absoluter Adressierung) oder "Ventil" (bei symbolischer Adressierung).
- POINTER: referenziert die Adresse einer Variablen. Ein Pointer enthält eine Adresse anstelle eines Werts. Wenn Sie einen Formalparameter vom Parametertyp POINTER versorgen, geben Sie als Aktualparameter die Adresse an. In STEP 7 können Sie einen Pointer im Pointerformat oder einfach als Adresse (z. B. M 50.0) angeben.
Beispiel für ein Pointerformat zum Adressieren der Daten, die in M 50.0 beginnen: P#M50.0
- ANY: wird verwendet, wenn der Datentyp des Aktualparameters nicht bekannt ist oder wenn ein beliebiger Datentyp eingesetzt werden kann. Nähere Informationen zum Parameter ANY entnehmen Sie den Abschnitten "Format des Parametertyps ANY" bzw. Verwenden des Parametertyps ANY".
Ein Parametertyp kann auch ein anwenderdefinierter Datentyp (UDT) sein. Nähere Informationen zu UDTs entnehmen Sie dem Abschnitt "Verwenden von anwenderdefinierten Datentypen für den Datenzugriff".
Parameter | Größe | Beschreibung |
TIMER | 2 Bytes | Kennzeichnet eine bestimmte Zeit, die vom Programm im aufgerufenen Codebaustein verwendet werden soll. Format: T1 |
COUNTER | 2 Bytes | Kennzeichnet einen bestimmten Zähler, der vom Programm im aufgerufenen Codebaustein verwendet werden soll. Format: Z10 |
BLOCK_FB | 2 Bytes | Kennzeichnet einen bestimmten Baustein, der vom Programm im aufgerufenen Codebaustein verwendet werden soll. |
BLOCK_FC | ||
BLOCK_DB | Format: FC101 | |
BLOCK_SDB | DB42 | |
POINTER | 6 Bytes | Kennzeichnet die Adresse. Format: P#M50.0 |
ANY | 10 Bytes | Wird verwendet, wenn der Datentyp des Aktualparameters nicht bekannt ist. Format: P#M50.0 BYTE 10 ANY-Format bei Datentypen, P#M100.0 WORD 5, L#1COUNTER 10 ANY-Format bei Parametertypen |
Dezimalsystem | Dualsystem | Hexadezimalsystem | BCD-Code |
---|---|---|---|
0 | 0 | 0 | 0000 |
1 | 1 | 1 | 0001 |
2 | 10 | 2 | 0010 |
3 | 11 | 3 | 0011 |
4 | 100 | 4 | 0100 |
5 | 101 | 5 | 0101 |
6 | 110 | 6 | 0110 |
7 | 111 | 7 | 0111 |
8 | 1000 | 8 | 1000 |
9 | 1001 | 9 | 1001 |
10 | 1010 | A | 0001 0000 |
11 | 1011 | B | 0001 0001 |
12 | 1100 | C | 0001 0010 |
13 | 1101 | D | 0001 0011 |
14 | 1110 | E | 0001 0100 |
15 | 1111 | F | 0001 0101 |
16 | 10000 | 10 | 0001 0110 |
17 | 10001 | 11 | 0001 0111 |
47 | 101111 | 2F | 0100 0111 |
82 | 1010010 | 52 | 1000 0010 |
99 | 1100011 | 63 | 1001 1001 |
100 | 1100100 | 64 | 0001 0000 0000 |
WinCC
- HMI Meldungen als BOOL in SPS: "%DB14.Variable.%X0" (%DB14 nur als absolute DB Nummer möglich (Bug in V13?); %X0 ist Bit 0)
Tipps & Tricks
- Magnetventil: Spule schiebt bei 1 Signal von sich weg
- EXCLUSIV ODER mit mehr als zwei Eingängen:
Ungerade Anzahl Eingänge 1 = VKE 1.
Gerade Anzahl Eingänge 1 = VKE 0. -
HMI Meldungen als BOOL Slice aus SPS: %DB14.Word_Variablenname.%X0
Aus irgend einen Grund kann man den symbolischen Namen des Datenbausteins nicht eingeben. Wenn man aber den absoluten DB eingegeben hat erscheint danach die richtige Schreibweise: Symbolischer_DB_Name.Word_Variablenname.%X0
Programmierstyleguide für S7
Tags | Global | Constants | |||||||
start | MAX_SPEED | ||||||||
Prefix | - | - | |||||||
Start letter | lower case | - | |||||||
Word Casing | camelCasing | CAPITAL_LETTERS | |||||||
Formal Parameters | IN | OUT | INOUT | STAT | TEMP | CONSTANTS | |||
enable | done | m otorData | statVelocity | tempVelocity | MAX_VELOCITY | ||||
Prefix | - | - | - | stat' | temp' | - | |||
Start letter | lower case | lower case | lower case | lower case | lower case | - | |||
Word Casing | camelCasing | camelCasing | camelCasing | camelCasing | camelCasing | CAPITAL_LETTERS | |||
DB Data block | GLOBAL | Single Instance | Multi-instance | *Abbreviations | |||||
MotorData | InstHeater | instMotor | (only one per identifier) | ||||||
Prefix | - | ‘Inst’ | ‘inst’ | Min / Max | minimum / maximum | ||||
Start letter | upper case | upper case | lower case | Act | actual, current | ||||
Word Casing | PascalCasing | PascalCasing | camelCasing | Next / Prev | next / previous | ||||
Avg | average | ||||||||
Prefix | Start letter | Word Casing | Diff / Sum | difference / sum | |||||
OB Organization block | StationMain | - | upper case | PascalCasing | Pos | position | |||
FB Function block | ConveyorControl | - | upper case | PascalCasing | Ris / Fal | rising / falling edge | |||
FC Function | Filling | - | upper case | PascalCasing | Sim | simulated | |||
TO Technology object | PositioningAxis | - | upper case | PascalCasing | Old | old value | |||
PLC data types | typeMotor | - | lower case | camelCasing | Dir | direction | |||
Watch tables | MotorTags | - | upper case | PascalCasing | Err | error | |||
PLC tag tables | InputTags | - | upper case | PascalCasing | Warn | warning | |||
Traces | SpeedAxis | - | upper case | PascalCasing | Cmd | command | |||
Measurements | HeaterControl | - | upper case | PascalCasing |
SIMATIC S7 SPS / TIA Portal Tricks
Backup von SPS:
CPU in STOP. Online >> Laden von Gerät (Software)
Revision erzeugen: In Libaries den Ordner "Mastercopies" anlegen und darunter Ordner mit dem aktuellen
Datum. Projekt dann da reinkopieren.
Richtiger Flankenmerker-Typ: P_TRIG / N_TRIG