Datalängd och datatyper
Datalängd (elementära = max 32-bitar) Siemens PLC Datalängd (elementära = max 32-bitar) BIT BYTE WORD DOUBLEWORD En bit kan anta 2 tillstånd Tillståndet ”0” 1 Tillståndet ”1”
Datalängd (adressering) Siemens PLC Datalängd (adressering) BIT 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) Siemens PLC Datatyper (adressering) BOOL, BYTE, WORD, INT, DWORD, DINT, REAL, TIME 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. Exempel BOOL (1 bit) BYTE (8 bit) INTEGER (16 bit) WORD (16 bit) S5TIME (16 bit) DOUBLE INTEGER (32 bit) REAL (32 bit) TIME (32 bit)
Datatyper Siemens Classic PLC Antal bitar: 1 Exempel BOOL BOOL-adressering sker alltid med en punkt, ex. I125.6 M22.5 Q52.1 DB3.DBX2.6 Exempel Program Deklaration av variabler IB125 Kommentarer BOOL är den lägsta (kortaste) datalängden d.v.s. 1 bit. I125.6 bit 7 bit 0 Värde min – max: 0 till 1
Datatyper Siemens Classic PLC Antal bitar: 8 Exempel BYTE BYTE-adressering sker alltid med B, ex. IB125 MB10 QB124 DB2.DBB4 Exempel Program Deklaration av variabler Kommentarer Funktionen MOVE kan hantera datalängden BYTE till DOUBLEWORD (8-32 bitar) på både IN och OUT. IB125 bit 7 bit 0 Värde min – max: 0 till 255
Datatyper Siemens Classic PLC Antal bitar: 16 Exempel INT INT-adressering sker alltid med W, ex. MW34 IW0 QW124 DB6.DBW20 Exempel Program Deklaration av variabler MW34 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. (MB34) (MB35) bit 15 bit 8 bit 7 bit 0 Teckenbit 0=pos 1=neg Värde min – max -32768 till 32767
Datatyper Siemens Classic PLC Antal bitar: 16 Exempel WORD WORD-adressering sker alltid med W, ex. MW10 IW24 QW6 DB3.DBW12 Exempel Program Deklaration av variabler MW110 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). (MB110) (MB111) bit 15 bit 8 bit 7 bit 0 Värde min – max 0 till 65535
Datatyper Siemens Classic PLC Antal bitar: 16 Exempel S5TIME S5TIME användas för att ange tidskonstanter i - timmar, - minuter, - sekunder och - millisekunder. Exempel Program Deklaration av variabler MW40 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. (MB40) (MB41) bit 15 bit 8 bit 7 bit 0 Värde min – max 0 till 2h, 46m, 30s
Datatyper Siemens Classic PLC Antal bitar: 32 Exempel DINT DINT-adressering sker alltid med D, ex. MD30 ID8 QD100 DB4.DBD4 Exempel Program Deklaration av variabler MD44 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. (MB44) (MB45) (MB46) (MB47) bit 31 bit 24 bit 23 bit 16 bit 15 bit 8 bit 7 bit 0 Teckenbit 0=pos 1=neg Värde min – max -2147483648 till 2147483647
Datatyper Siemens Classic PLC Antal bitar: 32 Exempel REAL REAL-adressering sker alltid med D, ex. MD2 DB0.DBD20 Exempel Program Deklaration av variabler MD60 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. (MB60) (MB61) (MB62) (MB63) bit 31 bit 24 bit 23 bit 16 bit 15 bit 8 bit 7 bit 0 Exponent Mantissa Teckenbit 0=pos 1=neg Värde ±1.175 495e-38till ±3.402823e+38
Datatyper Siemens Classic PLC Antal bitar: 32 Exempel TIME TIME användas för att ange tidskonstanter i - dagar - timmar, - minuter, - sekunder och - millisekunder. Exempel Program Deklaration av variabler MD120 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. (MB120) (MB121) (MB122) (MB123) bit 31 bit 24 bit 23 bit 16 bit 15 bit 8 bit 7 bit 0 Värde min – max 0 till 24d, 20h, 31m, 23s, 648ms