La versione 1.1 di EcoStruxure Machine Expert non supporta i controllori M258, LMC058 e LMC078.

Raccomandazioni sull'assegnazione dei nomi agli identificativi

Panoramica

Gli identificativi sono definiti:

oalla dichiarazione delle variabili (nome della variabile)

oalla dichiarazione dei tipi di dati definiti dall'utente

oalla creazione di POU (funzioni, blocchi funzione, programmi)

Oltre agli aspetti generali da considerare quando si definisce un identificativo (vedere il capitolo Informazioni generali sulla dichiarazione delle variabili), tenere presente le seguenti raccoman­dazioni per rendere il nome univoco:

oNomi delle variabili 

oNomi delle variabili nelle librerie 

oTipi di dati definiti dall'utente (DUT) nelle librerie

oFunzioni, blocchi funzione, programmi (POU), azioni

oPOU nelle librerie

Nomi delle variabili

Per l'assegnazione dei nomi delle variabili nelle applicazioni e nelle librerie, attenersi per quanto possibile alla notazione ungherese.

Trovare per ogni variabile una descrizione breve e significativa. Questa descrizione va utilizzata come nome di base. Usare una lettera maiuscola per ogni parola del nome di base. Per i restanti caratteri, usare lettere minuscole (esempio: FileSize).

Tipo di dati

Limite inferiore

Limite superiore

Contenuto delle informazioni

Prefisso

Commento

BOOL

FALSE

TRUE

1 bit

x*

b

riservato

BYTE

8 bit

by

stringa di bit, non per le operazioni aritmetiche

WORD

16 bit

w

stringa di bit, non per le operazioni aritmetiche

DWORD

32 bit

dw

stringa di bit, non per le operazioni aritmetiche

LWORD

64 bit

lw

non per le operazioni aritmetiche

SINT

–128

127

8 bit

si

USINT

0

255

8 bit

usi

INT

–32,768

32,767

16 bit

i

UINT

0

65.535

16 bit

ui

DINT

–2,147,483,648

2,147,483,647

32 bit

di

UDINT

0

4.294.967.295

32 bit

udi

LINT

–263

263-1

64 bit

li

ULINT

0

264-1

64 bit

uli

REAL

32 bit

r

LREAL

64 bit

lr

STRING

s

WSTRING

ws

TIME

tim

TIME_OF_DAY

tod

DATE_AND_TIME

dt

DATE

date

ENUM

16 bit

e

POINTER

p

ARRAY

a

* per le variabili booleane, è stato scelto intenzionalmente il prefisso x per differenziarle da BYTE e per conformità con la programmazione IEC (vedere l'indirizzamento %IX0.0).

Dichiarazione semplice

Esempi di dichiarazioni semplici:

bySubIndex: BYTE;

sFileName: STRING;

udiCounter: UDINT;

Dichiarazione annidata

Esempio di dichiarazione annidata in cui i prefissi sono consecutivi nell'ordine delle dichiarazioni:

pabyTelegramData: POINTER TO ARRAY [0..7] OF BYTE;

Istanze e variabili di blocchi funzione di tipi di dati definiti dall'utente

Alle istanze e alle variabili dei blocchi funzione di tipi di dati definiti dall'utente è assegnato un prefisso costituito da un'abbreviazione del nome del blocco funzione o del tipo di dati (ad esempio: sdo).

Esempio

cansdoReceivedTelegram: CAN_SDOTelegram;

TYPE CAN_SDOTelegram :     (* prefix: sdo *)
STRUCT
  wIndex:WORD;
  bySubIndex:BYTE;
  byLen:BYTE;
  aby: ARRAY [0..3] OF BYTE;
END_STRUCT
END_TYPE

Costanti locali

Le costanti locali () iniziano con il prefisso c e un carattere di sottolineatura adiacente, seguito dal prefisso del tipo e dal nome della variabile.

Esempio

VAR CONSTANT
  c_uiSyncID: UINT := 16#80;
END_VAR

Variabili globali e costanti globali

Le variabili globali hanno il prefisso g_ e le costanti globali hanno il prefisso gc_.

Esempio

VAR_GLOBAL
  g_iTest: INT;
END_VAR
VAR_GLOBAL CONSTANT
  gc_dwExample: DWORD;
END_VAR

Nomi delle variabili nelle librerie

Struttura

Per i nomi delle variabili, fare riferimento alla descrizione riportata sopra. Usare il namespace della libreria come prefisso quando si accede alla variabile nel codice dell'applicazione.

Esempio

g_iTest: INT; (declaration)
CAN.g_iTest (implementation, call in an application program

Tipi di dati definiti dall'utente (DUT) nelle librerie

Struttura

Il nome di ogni tipo di dati struttura consiste in una breve descrizione significativa (ad esempio, SDOTelegram) della struttura.

Esempio (nella libreria con spazio dei nomi CAL):

TYPE Day :(
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY);

Dichiarazione:

eToday: CAL.Day;

Uso nell'applicazione:

IF eToday = CAL.Day.MONDAY THEN

NOTA: Tenere presente l'uso del namespace quando si usano DUT o enumerazioni dichiarate nelle librerie.

Funzioni, blocchi funzione, programmi (POU), azioni

I nomi delle funzioni, i blocchi funzione e i programmi hanno un prefisso costituito da un'abbreviazione descrittiva del nome della POU (ad esempio, SendTelegram). Come per le variabili, la prima lettera di una parola del nome del POU deve essere maiuscola, mentre le altre devono essere minuscole. Si raccomanda di comporre il nome di un POU con un verbo e un sostantivo.

Esempio

FUNCTION_BLOCK SendTelegram (* prefix: canst *)

Nella parte della dichiarazione, inserire una breve descrizione del POU come commento. Anche gli ingressi e le uscite devono avere un commento. Per i blocchi funzione, inserire il prefisso associato per le istanze di set-up direttamente dopo il nome.

Azioni

Le azioni non hanno prefissi. Solo le azioni che devono essere chiamate internamente, ossia dalla POU stessa, iniziano con prv_.

POU nelle librerie

Struttura

Per la creazione di nomi di metodi valgono le stesse regole valide per le azioni. Specificare commenti in inglese per gli ingressi possibili di un metodo. Aggiungere una breve descrizione del metodo nella rispettiva dichiarazione. Iniziare nomi delle interfacce con la lettera I; ad esempio, ICANDevice.

NOTA: Tenere presente l'uso dello spazio dei nomi quando si utilizzano le POU dichiarate nelle librerie.