140 likes | 271 Views
Herzlich Willkommen zu Ihrem Seminar:. Moeller - PS40-System: Programmierung und Kommunikation (Aufbau) (A27). Sucosoft. Zahlensysteme (1). System. Basiszahl. Beispiel. 3 x 10³ + 7 x 10² + 5 x 10¹ + 1 x 10º. Dezimal. 10. 3000 + 700 + 50 + 1 = 3751. 10. 1.
E N D
Herzlich Willkommen zu Ihrem Seminar: Moeller - PS40-System: Programmierung und Kommunikation (Aufbau) (A27) Sucosoft
Zahlensysteme (1) System Basiszahl Beispiel 3 x 10³ + 7 x 10² + 5 x 10¹ + 1 x 10º Dezimal 10 3000 + 700 + 50 + 1 = 3751 10 1 0 1 0 1 1 0 1 Binär 2 (Dual) 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2³ + 1 x 2² + 0 x 2¹ + 1 x 2º 7 6 4 5 128 + 0 + 32 + 16 + 0 + 4 + 0 + 1 = 181 10 High-Byte = msb Low-Byte = lsb 128 64 32 16 8 4 2 1 128 64 32 16 8 4 2 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 128 64 32 16 8 4 2 1 32768 8192 2048 512 16384 4096 1024 256 42564
Zahlensysteme (2) System Basiszahl Beispiel 1 1 0 1 1 0 1 1 8 4 2 1 8 4 2 1 16 Hexadezimal = BD 11 13 16 A = 10 D = 13 1 0 11 x 16 + 13 x 16 B = 11 E = 14 176 + 13 = 189 C = 12 F = 15 10 4 2 1 4 2 1 4 2 1 1 0 1 1 0 0 0 0 1 Oktal 8 2 1 0 1 x 8 + 5 x 8 + 4 x 8 = 108 10 2 2 8 4 1 8 4 1 Zahlen 1 0 1 1 0 0 0 = 54 1 BCD von 0..9 10 2 128 64 32 16 8 4 1 7 0 2 2 2 -128 ... +127 Binär +/- Vorzeichenbit (minus)
Abgeleitete Datentypen Aufzählungen Felder Type Type Passwort : (Otto,Fritz,Petra,Ludwig); Messwert : Array[1..10] OF INT; END_TYPE END_TYPE Strukturen ( P S 4 1 6 / P S 4 - 3 4 1 ) Type Bereichseingrenzungen Ofendaten : STRUCT Type Temperatur : INT; Heizdauer : TIME; Sollwert : UINT (100..200); Alarm : BOOL; END_STRUCT; END_TYPE END_TYPE
Datenfelder – ARRAY‘s ... :Array[1..10,1..4,1..3] of INT; ... :Array[1..10,1..4] of INT; 3 DatenFeld:Array[1..10] of INT; 2 1 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10 1 2 3 4 1 2 3 4 DatenFeld[5] DatenFeld[7,4] DatenFeld[5,4,2]
Initialisierung von Datenfeldern – ARRAY‘s Initialwerte des Datenfeldes “Feldwerte“ (hier dezimal).
Analogwertverarbeitung (1) Physikalischer Messwert °C / °F Messwert Wandler U,(I) 0 ... max. SPS (Analog Input)
Analogwertverarbeitung (2) Syntax : IAW... / QAW... U U [V] [V] 10 10 0 1023 Inc. 0 4095 Inc. 10 Bit 12 Bit A D CPU D A + + P1 P2 U U 0V U 0 1 10 %IAW0.0.0.0 %IAW0.0.0.2 %IAW0.0.0.4 %IAW0.0.0.6 %QAW0.0.0.0
Arithmetik - Operanden Datentypen : ANY_NUM INT, UINT, SINT, USINT, REAL (PS4-341/416) Operatoren : ADD, MUL, DIV, SUB (12718 x 5) - 48912 Beispiel: + 161 = Ergebnis 2 LD 12718 AWL MUL 5 SUB 48912 DIV 2 ADD 161 ST Ergebnis
Echtzeituhrdaten auslesen Beispiel: VAR PLC_CLOCK USINT Minuten : USINT; PLC_ReadClock Sekunden : USINT; END_VAR AWL: TYPE LD CK_MINUTES PLC_CLOCK: (CK_YEAR, ( Jahreszahl ) PLC_ReadClock CK_MONTH, ( Monatsangabe ) ST Minuten CK_DAY, ( Tagesangabe ) CK_WEEKDAY, ( Wochentag: Sonntag = 0 ) LD CK_SECONDS CK_HOURS, ( Stundenangabe ) PLC_ReadClock CK_MINUTES, ( Minutenangabe ) ST Sekunden CK_SECONDS ( Sekundenangabe ) ) := CK_YEAR; END_TYPE Defaulteinstellung
Echtzeituhrenbaustein - RTC RTC BOOL EN Q BOOL CDT DATE_AND_TIME DATE_AND_TIME PDT DT#2001-05-28-15:20:45 DATE_AND_TIME