Costanti
E’ data la possibilità di utilizzare nel programma delle costanti, per assegnare valori a merker, per caricare temporizzatori e contatori, per operazioni di confronto, ecc. Le costanti definite per questo PLC sono di vario genere per adattarsi alle diverse esigenze che si riscontrano in fase di programmazione. Eccone di seguito un elenco.
Costanti decimali a 16 bit
Sono costanti espresse su sedici bit compreso segno; i numeri negativi sono rappresentati in complemento a due. I valori di queste costanti vanno da –32768 a +32767.
Costanti decimali a 32 bit
Sono costanti espresse su trentadue bit compreso segno; i numeri negativi sono rappresentati in complemento a due. I valori di queste costanti vanno da L#-2147483648 a L#2147483647.
Costanti esadecimali a 8 bit
Sono costanti espresse su 8 bit in formato esadecimale da B#16#00 a B#16#FF. Dove B sta per byte (8 bit) e 16 indica la base esadecimale. Per esempio, B#16#7E identifica una costante che vale (7E)16 o , in decimale, (126)10.
Costanti esadecimali a 16 bit
Sono costanti espresse su 16 bit in formato esadecimale da W#16#0000 a W#16#FFFF. Dove W sta per word (16 bit) e 16 indica la base esadecimale. Per esempio, W#16#0120 identifica una costante che vale (120)16 o , se preferite, (288)10.
Costanti esadecimali a 32 bit
Sono costanti espresse su 32 bit in formato esadecimale da DW#16#0000_0000 a DW#16#FFFF_FFFF. Dove DW sta per doppia word (32 bit) e 16 indica la base esadecimale. Per esempio, DW#16#0A34_0120 identifica una costante che vale (A340120)16 che vale in base esadecimale (171180320)10.
Costanti binarie a 16 bit
Sono costanti espresse su 16 bit con descrizione diretta binaria; la rappresentazione va da 2#0000_0000_0000_0000 a 2#1111_1111_1111_1111. Per esempio, 2#0010_0000_1110_0111 identifica una costante del valore (0010000011100111)2 o, in base esadecimale, (20E7)16.
Costanti binarie a 32 bit
Sono costanti espresse su 16 bit con descrizione diretta binaria; la rappresentazione va da 2#0000_0000_0000_0000_0000_0000_0000_0000 a 2#1111_1111_1111_1111_1111_1111_1111 _1111. Per esempio, 2#1110_0111_1011_0011_0010_0000_1110_0111 identifica una costante del valore (11100111101100110010000011100111)2 o, in base esadecimale, (E7D520E7)16.
Costanti di tempo
Esprimono costanti per il caricamento dei temporizzatori. Esse sono composte dalla sigla S5TIME# seguita da una stringa alfanumerica che identifica il numero di ore, minuti, secondi e millesimi di secondo. I valori ammissibili hanno per limiti S5TIME#0H_0M_0S_0M e S5TIME#2H_46M_30S_0MS. Per maggiori dettagli vedere più avanti Operazioni di temporizzazione.
Costanti di conteggio
Esprimono costanti a 16 bit codificate in BCD per l’impostazione dei contatori. Valori da Z#000 a Z#999. Vedere più avanti Operazioni di conteggio.
Tabella 35: riepilogo indirizzamento variabili PC-Sim per Siemens S7 300
Tipo |
Min | Max |
Bit di ingresso |
E0.0 | E127.7 |
Byte di ingresso |
EB0 | EB127 |
Word di ingresso |
EW0 | EW126 |
Doppia word di ingresso |
ED0 | ED124 |
Bit di uscita |
A0.0 | A127.7 |
Byte di uscita |
AB0 | AB127 |
Word di uscita |
AW0 | AW126 |
Doppia word di uscita |
AD0 | AD124 |
Bit di merker (ritentivi) |
M0.0 | M15.7 |
Bit di merker (non ritentivi) |
M64.0 | M255.7 |
Byte di merker (ritentivi) |
MB0 | MB15 |
Byte di merker (non ritentivi) |
MB16 | MB255 |
Word di merker (ritentive) |
MW0 | MW14 |
Word di merker (non ritentive) |
MW16 | MW254 |
Doppia word di merker (ritentive) |
MW0 | MW12 |
Doppia word di merker (non ritentive) |
MD16 | MD252 |
Data bit |
DBX0.0 | DBX255.7 |
Data byte |
DBB0 | DBB255 |
Data word |
DBW0 | DBW254 |
Doppia data word |
DBD0 | DBD252 |
Temporizzatori |
T0 | T63 |
Contatori (ritentivi) |
Z0 | Z7 |
Contatori (non ritentivi) |
Z8 | Z63 |
Costante decimale a 16 bit |
-32768 | 32767 |
Costante decimale a 32 bit |
L#-2147483648 | L#2147483647 |
Costante esadecimale a 8 bit |
B#16#00 | B#16#FF |
Costante esadecimale a 16 bit | W#16#0000 | W#16#FFFF |
Costante esadecimale a 32 bit |
DW#16#0000_0000 | DW#16#FFFF_FFFF |
Costante binaria a 16 bit |
2#0000_0000_0000_0000 | 2#1111_1111_1111_1111 |
Costante binaria a 32 bit |
2#0000_0000_0000_0000_0000_0000_0000_0000 | 2#1111_1111_1111_1111_1111_1111_1111_1111 |
Costante di conteggio |
Z#000 | Z#999 |
Costante di tempo |
S5TIME#0H_0M_0S_0MS | S5TIME#2H_46M_30S_0MS |
Blocchi organizzativi |
OB 0 | OB 127 |
Funzioni |
FC 0 | FC 127 |
Blocchi dati |
DB 2 | DB 127 |