Datalängd (elementära = max 32-bitar)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0BIT
BYTE
WORD
DOUBLEWORD
0
Tillståndet ”0”
1
Tillståndet ”1”
En bit kan anta
2 tillstånd
Datalängd (adressering)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0BIT
BYTE
BYTE
WORD
DOUBLEWORD
Exempel på datalängder vid adressering för Siemens Step7 och TIA-portal
I 125.6
Q 32.2
M 24.7
DB1.DBX 2.0
Bit-adressering
IB 124
QB 90
MB 110
DB6.DBB 4
Byte-adressering
IW 10
QW 12
MW 8
DB3.DBW 0
Word-adressering
ID 0
QD 88
MD 48
DB12.DBD 10
DoubleWord-adressering
Datatyper (adressering)
Beroende på vad man ska använda en variabel till måste dess datatyp anpassas.
När det gäller datalängden ”word” d.v.s. 16-bitars längd finns mer än en datatyp. Likaså när det gäller
datalängden ”doubleword” d.v.s. 32-bitars längd finns mer än en datatyp.
Man måste alltså veta vad man ska använda variablen till.
Siemens PLC
BOOL, BYTE, WORD, INT, DWORD, DINT, REAL, TIME
BOOL (1 bit) BYTE (8 bit) INTEGER (16 bit)
DOUBLE INTEGER (32 bit) REAL (32 bit)
S5TIME (16 bit) TIME (32 bit)
WORD (16 bit)
Datatyper
BOOL
Antal bitar: 1
Siemens Classic PLC
Exempel
Program Deklaration av variabler
Kommentarer
BOOL är den lägsta (kortaste) datalängden d.v.s. 1 bit.
BOOL-adressering sker alltid med en
punkt
, ex.
I125.6
M22.5
Q52.1
DB3.DBX2.6
0 0 0 0 0 0 0 0 bit 0 I125.6 IB125 bit 7Datatyper
BYTE
Antal bitar: 8
Exempel
Program Deklaration av variabler
Kommentarer
Funktionen MOVE kan hantera datalängden BYTE till DOUBLEWORD (8-32 bitar) på både IN och OUT.
BYTE-adressering sker alltid med
B
, ex. IB125
MB10
QB124
DB2.DBB4
0 0 0 0 0 0 0 0 bit 0 bit 7 IB125Siemens Classic PLC
Datatyper
INT
Antal bitar: 16
Exempel
Program Deklaration av variabler
Kommentarer
INT = Integer kan hantera både positiva och negativa tal. Använd främst för matematiska funktioner.
Funktionen ADD_I använder datatypen INT på alla ben (IN1, IN2 och OUT).
I exemplet ovan har en decimal konstant (125) använts på IN2.
INT-adressering sker alltid med
W
, ex. MW34
IW0
QW124
DB6.DBW20
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB35) (MB34) MW34 Teckenbit 0=pos 1=negSiemens Classic PLC
Datatyper
WORD
Antal bitar: 16
Exempel
Program Deklaration av variabler
Kommentarer
WORD = ORD kan endast hantera positiva tal.
Använd främst till, konstanter, meddelande, för logiska beräkningar etc.
Funktionen WOR_W är en s.k. OR-funktion och använder datatypen WORD på alla ben (IN1, IN2 och OUT).
Siemens Classic PLC
WORD-adressering sker alltid med
W
, ex.
MW10
IW24
QW6
DB3.DBW12
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB111) (MB110) MW110Datatyper
S5TIME
Antal bitar: 16
Exempel
Program Deklaration av variabler
Kommentarer
Om man vill ange en tidskonstant direkt på TV-benet ska tidvärdet föregås av S5T# och sedan tidvärdet t.ex. S5T#3S200MS (3,2 sek)
S5T#1H30M (1,5 tim)
S5TIME är en egendefinierad datatyp från Siemens, en kvarleva från tidigare generationers PLC.
Siemens Classic PLC
S5TIME användas för att ange tidskonstanter i
- timmar,
- minuter,
- sekunder och
- millisekunder.
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB41) (MB40) MW40Datatyper
DINT
Antal bitar: 32
Exempel
Program Deklaration av variabler
Kommentarer
DINT = Double Integer kan hantera både positiva och negativa tal.
Använd främst för matematiska funktioner.
Funktionen MUL_DI ovan använder datatypen DINT på alla ben (IN1, IN2 och OUT).
I exemplet ovan har en decimal konstant (250000) använts på IN1.
DINT-adressering sker alltid med
D
, ex. MD30
ID8
QD100
DB4.DBD4
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB47) (MB46) MD44 Teckenbit 0=pos 1=negSiemens Classic PLC
Värde min – max -2147483648 till 2147483647
0 0 0 0 0 0 0 0 bit 23 0 0 0 0 0 0 0 0 bit 24 bit 31 (MB45) (MB44) bit 16
Datatyper
REAL
Antal bitar: 32
Exempel
Program Deklaration av variabler
Kommentarer
REAL = Flyttal (flytande decimalkomma) kan hantera både positiva och negativa tal och decimaler. REAL tillämpar mantissa och exponent.
Använd för matematiska (noggranna) funktioner.
Funktionen SUB_R ovan använder datatypen REAL på alla ben (IN1, IN2 och OUT).
I exemplet ovan har en decimal konstant (12500,5) använts på IN1.
REAL-adressering sker alltid med
D
, ex. MD2
DB0.DBD20
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB63) (MB62) MD60 Teckenbit 0=pos 1=negSiemens Classic PLC
Värde ±1.175 495e-38till ±3.402823e+38
0 0 0 0 0 0 0 0 bit 23 0 0 0 0 0 0 0 0 bit 24 bit 31 (MB61) (MB60) bit 16 Exponent Mantissa
Datatyper
TIME
Antal bitar: 32
Exempel
Program Deklaration av variabler
Kommentarer
Om man vill ange en tidskonstant direkt på PT-benet ska tidvärdet föregås av T# och sedan tidvärdet t.ex.
T#12S500MS (12,5 sek) T#1H10M (1t och 10min)
Funktionen ovan är en s.k. IEC-timer som stödjer standarden enligt International Electrotechnical Commission.
Det är ett SFB (system function block) och alla function block (FB) fordrar ett datablock (DB) där data kan sparas.
Siemens Classic PLC
TIME användas för att ange tidskonstanter i
- dagar
- timmar,
- minuter,
- sekunder och
- millisekunder.
Värde min – max 0 till 24d, 20h, 31m, 23s, 648ms
0 0 0 0 0 0 0 0 bit 0 bit 7 0 0 0 0 0 0 0 0 bit 8 bit 15 (MB123) (MB122) MD120 0 0 0 0 0 0 0 0 bit 23 0 0 0 0 0 0 0 0 bit 24 bit 31 (MB121) (MB120) bit 16