Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni388 pagine

Programma Di Script (Italiano)

Il documento fornisce un'introduzione alla programmazione di script per il controllo degli edifici tramite il server EcoStruxure BMS. Descrive il flusso di lavoro per la creazione e modifica di programmi script, le funzioni e i componenti necessari, nonché l'uso dell'editor di script e delle parole chiave. Inoltre, illustra come associare variabili e gestire cicli di programma nel software EcoStruxure Building Operation.

Caricato da

magistrigiuseppe
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni388 pagine

Programma Di Script (Italiano)

Il documento fornisce un'introduzione alla programmazione di script per il controllo degli edifici tramite il server EcoStruxure BMS. Descrive il flusso di lavoro per la creazione e modifica di programmi script, le funzioni e i componenti necessari, nonché l'uso dell'editor di script e delle parole chiave. Inoltre, illustra come associare variabili e gestire cicli di programma nel software EcoStruxure Building Operation.

Caricato da

magistrigiuseppe
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Tradotto dal Inglese al Italiano - [Link].

com

59 Introduzione alla sceneggiatura

Temi
Panoramica dello script

Flusso di lavoro dello script

Programmi di script

Creazione di un programma di script Apertura di un

programma di script o di parole chiave di script di

funzioni

Flusso del programma di script

Flusso del programma FallThru

Flusso del programma in loop

Istruzioni del programma


script Righe e numeri di riga
Parole riservate
Parole riservate allo script
Associazioni e programmi di script
Associazione di valori nell'editor di script utilizzando un modello di

associazione Dichiarazioni di variabili locali

Compiti

Aggiunta di un'attività a un programma

Cicli di programma nel software EcoStruxure Building Operation


Configurazione della precedenza di esecuzione per un programma
59 Trovare cicli in un'attività
59 Introduzione alla sceneggiatura

59.1 Panoramica dello script

59.1 Panoramica dello script


I programmi script sono istruzioni basate su testo che indicano al server EcoStruxure BMS di intraprendere
qualche tipo di azione per controllare un edificio.

Ad esempio, è possibile indicare al server EcoStruxure BMS di eseguire le seguenti azioni:

• APRIRE LA SERRANDA
• CHIUDERE LA VALVOLA

Ogni istruzione è una descrizione completa del comando di testo. Le istruzioni del programma
sono elencate nell'ordine in cui il controllore deve eseguirle.

59.1.1 Flusso di lavoro dello script

Il flusso di lavoro Script consente di creare (e modificare) programmi Script nel


database EcoStruxure Building Operation.

Per ulteriori informazioni, vedere la sezione 59.2 “Flusso di lavoro dello script” a pagina 1601.

59.1.2 Programmi di script


Puoi memorizzare i tuoi programmi Script come un documento comune e includerli successivamente in
altri progetti per utilizzarli nel tuo sistema di controllo. È inoltre possibile scrivere programmi che
eseguano decisioni molto complesse sui sistemi di controllo, come il controllo dell'illuminazione, delle
caldaie e delle unità di trattamento dell'aria in più siti.

Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.

59.1.3 Funzioni dello script


Una funzione è una routine progettata per eseguire un compito o una serie di compiti spesso
ripetuti. La funzione Script diventa quindi una subroutine che può essere chiamata ogni volta che è
necessario eseguire quella particolare azione.

Per ulteriori informazioni, vedere la sezione 60.97 “Funzioni script” a pagina 1795.

59.1.4 Componenti del programma di script


I programmi di script sono composti dai seguenti componenti che ti consentono di sviluppare
i tuoi programmi in modo rapido e semplice:

• Costanti del programma

• Operatori del programma

• Dichiarazioni di programma

• Espressioni
• Variabili
Ad esempio, puoi creare istruzioni di programma con il linguaggio quotidiano, quindi non è
necessario essere un programmatore per imparare a programmare con Script.

04-20006-02-it, marzo 2019 Tecnico


1599
59 Introduzione alla sceneggiatura

59.1 Panoramica dello script

Per ulteriori informazioni, vedere la sezione 60.1 “Componenti del programma script” a pagina
1651.

59.1.5 Panoramica dell'editor di script


Lo Script Editor è uno strumento di programmazione di testo utilizzato per creare programmi Script che
controllano e monitorano i sistemi di automazione degli edifici. Script Editor si apre quando si crea o si
modifica un programma Script nella WorkStation.

Quando apri un nuovo programma nello Script Editor, inizi dichiarando le variabili locali
per l'input e l'output del programma seguite dai nomi per tali variabili. Il programma
inizia con zero o più di queste dichiarazioni seguite da una o più righe che specificano le
operazioni da eseguire.
Per ulteriori informazioni, vedere la sezione 61.1 “Panoramica dello Script Editor” a pagina 1885.

59.1.6 Servizi Web di script


I servizi Web sono applicazioni programmabili accessibili da protocolli Internet standard, come HTTP
e XML. I servizi Web aiutano a risolvere le sfide dell'integrazione delle applicazioni consentendo alle
applicazioni di comunicare tra loro indipendentemente dalla destinazione, dal sistema operativo
host, dal modello a oggetti o dal linguaggio di programmazione.

Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.

Tecnico 04-20006-02-it, marzo 2019


1600
59 Introduzione alla sceneggiatura

59.2 Flusso di lavoro dello script

59.2 Flusso di lavoro dello script

Il flusso di lavoro Script consente di creare (e modificare) programmi Script nel


database EcoStruxure Building Operation.

Il seguente diagramma di flusso descrive i passaggi di base necessari per creare (o modificare) un
programma Script. Le informazioni correlate possono essere trovate nelle sezioni successive al
diagramma di flusso. Se desideri modificare un programma Script esistente, seleziona il programma nel
server SmartX e poi continua dal secondo passaggio.

04-20006-02-it, marzo 2019 Tecnico


1601
59 Introduzione alla sceneggiatura

59.2 Flusso di lavoro dello script

Figura: flusso di lavoro dello script

Creare un programma di script


In WorkStation, creare un programma Script m sotto un server SmartX.

Tecnico 04-20006-02-it, marzo 2019


1602
59 Introduzione alla sceneggiatura

59.2 Flusso di lavoro dello script

Per ulteriori informazioni, vedere la sezione 59.4 “Creazione di un programma di script” a pagina 1607.

Apri il tuo programma in Script Editor


In WorkStation, seleziona e apri il tuo programma in Script Editor.

Per ulteriori informazioni, vedere la sezione 59.5 "Apertura di un programma o di una funzione script" a
pagina 1608.

Dichiarare variabili locali


In Script Editor, dichiarare le variabili locali per gli input e gli output del programma seguite
dai nomi per le variabili.

Per ulteriori informazioni, vedere la sezione 59.16 “Dichiarazioni di variabili locali” a pagina
1630.

Creare linee di programma


Nel programma Script, crea righe di programma per specificare il tipo di azioni che desideri
che il programma esegua.

Per ulteriori informazioni, vedere la sezione 61.9 “Aggiunta di una linea” a pagina 1903.

Creare punti o valori


In WorkStation, crea punti o valori.
Per ulteriori informazioni, vedere la sezione 92.13 “Creazione di un punto BACnet in un
server EcoStruxure BMS” a pagina 3132.

Per ulteriori informazioni, vedere la sezione 92.27 “Creazione di un valore BACnet” a pagina 3181.

Associa le variabili ai punti o ai valori


In WorkStation, associare le variabili ai punti o ai valori creati per visualizzare
l'output.

Nota
In Script, è possibile associare utilizzando la vista Associazioni in WorkStation o la vista
Associazioni in Script Editor. Per ulteriori informazioni, vedere la sezione 46.10 “Associazione di
valori mediante un modello di associazione” a pagina 1246.

Controlla e salva il tuo programma


In Script Editor, controlla la presenza di errori nel programma, quindi salva il programma.

Per ulteriori informazioni, vedere la sezione 61.15 "Verifica e salvataggio di un programma di script" a
pagina 1910.

Seleziona l'attività
In WorkStation, seleziona l'attività in cui desideri includere il tuo programma Script.
Per ulteriori informazioni, vedere la sezione 59.18 “Aggiunta di un'attività a un programma” a pagina
1635.

Esegui il tuo programma Script


Nella WorkStation, esegui il tuo programma Script.

Per ulteriori informazioni, vedere la sezione 61.16 "Esecuzione di un programma di script" a pagina
1911.

04-20006-02-it, marzo 2019 Tecnico


1603
59 Introduzione alla sceneggiatura

59.2 Flusso di lavoro dello script

Archivia e riutilizza i tuoi programmi


In WorkStation, archivia i tuoi programmi come un comune documento e importali
successivamente per riutilizzarli in altri progetti.

Per ulteriori informazioni, vedere la sezione 61.17 "Importazione del codice del programma script" a pagina 1912.

Tecnico 04-20006-02-it, marzo 2019


1604
59 Introduzione alla sceneggiatura

59.3 Programmi di script

59.3 Programmi di script


Un programma Script è costituito da una serie di istruzioni o dichiarazioni che indirizzano il server
EcoStruxure BMS ad eseguire una o più operazioni. Le istruzioni del programma vengono scritte
con parole Script, note come parole chiave.

59.3.1 Parole chiave dello script

Le parole chiave dello script sono disposte in una struttura predefinita con la propria sintassi.
Secondo le regole di tale sintassi, alcuni parametri e valori possono o non possono seguire
una parola chiave.

Per ulteriori informazioni, vedere la sezione 59.6 “Parole chiave dello script” a pagina 1609.

59.3.2 Istruzioni del programma di script


Il linguaggio di programmazione Script è costituito da una serie di istruzioni che indicano al server
EcoStruxure BMS cosa fare. Ciascuna istruzione è una descrizione completa del comando testuale
che indica al server EcoStruxure BMS di intraprendere un tipo di azione specifica per controllare un
edificio. Le istruzioni del programma sono elencate nell'ordine in cui il controllore deve eseguirle.

Per ulteriori informazioni, vedere la sezione 59.10 “Istruzioni del programma script” a pagina
1620.

59.3.3 Flusso del programma di script

I programmi di script indicano a un server EcoStruxure BMS di eseguire numerose azioni, come
aumentare il calore, bloccare le porte e stampare report. Le istruzioni del programma che
comandano queste azioni sono disposte ed eseguite in un determinato ordine, noto come flusso del
programma.

Per ulteriori informazioni, vedere la sezione 59.7 “Flusso del programma script” a pagina 1616.

59.3.4 Compiti
I programmi con blocchi funzione e script devono essere collegati alle attività per poter essere eseguiti. È
possibile accedere ad Attività dalla finestra di dialogo Proprietà.

Il task è una proprietà dell'oggetto che definisce i cicli del programma.


Quando si crea un nuovo blocco funzione o programma script, l'Attività 3 è l'impostazione predefinita. Ciò
significa che un ciclo di programma viene eseguito in 1000 ms.

Per ulteriori informazioni, vedere la sezione 59.17 “Attività” a pagina 1634.

04-20006-02-it, marzo 2019 Tecnico


1605
59 Introduzione alla sceneggiatura

59.3 Programmi di script

59.3.5 Cicli di programma nel software per la gestione


degli edifici EcoStruxure
Tutti i programmi vengono eseguiti nell'ordine in cui sono collegati nel software EcoStruxure Building
Operation. Ad esempio, nei programmi eseguiti in ordine diretto o in qualsiasi configurazione simile, il
Programma 4 viene eseguito dopo il Programma 3 che viene eseguito dopo il Programma 2 che viene
eseguito dopo il Programma 1. Il primo programma da eseguire è il Programma 1.

Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.

59.3.6 Associazioni e programmi di script


Un'associazione è un'associazione tra una variabile locale (numerica, stringa, data/ora, funzione)
all'interno di un programma Script e una proprietà di un oggetto nel sistema. L'uso dei collegamenti
aumenta la flessibilità del sistema di automazione degli edifici.

Per ulteriori informazioni, vedere la sezione 59.14 “Associazioni e programmi di script” a pagina
1628.

Tecnico 04-20006-02-it, marzo 2019


1606
59 Introduzione alla sceneggiatura

59.4 Creazione di un programma di script

59.4 Creazione di un programma di script


Si crea un programma Script per importare il codice di programma esistente o per programmare una
nuova logica per un server EcoStruxure BMS utilizzando Script Editor.

Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.

Per creare un programma Script


1. Nella WorkStation, nelAlbero del sistemapannello, selezionare il server
EcoStruxure BMS o la cartella in cui si desidera creare il programma di script.

2. SulFilemenu, puntare aNuovoe quindi fare clicProgramma.

3. NelCrea oggettoprocedura guidata, nell'elenco dei tipi di oggetto, selezionareProgramma di sceneggiatura.

4. NelNomecasella, digitare un nome per il programma di script.


5. NelDescrizionecasella, digitare una descrizione per il programma di script.

6. Fare clicCreare.

04-20006-02-it, marzo 2019 Tecnico


1607
59 Introduzione alla sceneggiatura

59.5 Apertura di un programma o di una funzione script

59,5 Apertura di un programma o di una funzione di script


Si apre un programma o una funzione Script in Script Editor per immettere le istruzioni del
programma.

Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.

Per aprire un programma o una funzione Script

1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il programma o la


funzione Script.

2. SulAzionimenu, fare clicModificare.


Il programma o la funzione Script è ora aperta e pronta per l'input.

Tecnico 04-20006-02-it, marzo 2019


1608
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

59.6 Parole chiave dello script

Le parole chiave dello script sono disposte in una struttura predefinita con la propria sintassi.
Secondo le regole di tale sintassi, alcuni parametri e valori possono o non possono seguire
una parola chiave.

59.6.1 ANNO DOMINI

Questa tabella contiene parole chiave che iniziano con le lettere A - D.

UN B C D

addominali BASEDON...VAI A SOFFITTO DATA


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.118 vedere la sezione 60.48 vedere la sezione 60.132 vedere la sezione 60.81
“ABS” a pagina 1824. “BASEDON...GOTO” “SOFFITTO” a pag “DATA” a pag
a pagina 1730. 1840. 1777.

ACOS BITAND CHR APPUNTAMENTO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.158 vedere la sezione 60.16 vedere la sezione 60.145 vedere la sezione 60.41
“ACOS” a pag “BITAND” a pag “CHR” a pag “DATETIME” a pag
1875. 1678. 1860. 1716.

E BITNOT CONTINUA GIORNO DEL MESE

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.21 vedere la sezione 60.17 vedere la sezione 60.50 vedere la sezione 60.82
“AND” a pag "BITNOT" a pagina "Continua “GIORNO DEL MESE” attivo
1683. 1679. pagina 1733. pagina 1778.

ARG BITORE COS GIORNO DELL'ANNO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.40 vedere la sezione 60.18 vedere la sezione 60.162 vedere la sezione 60.83
“ARG” a pag “BITOR” a pag “COS” a pag “DAYOFYEAR” attivo
1715. 1680. 1879. pagina 1779.

ASC BITXOR DIFFICILE


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.144 vedere la sezione 60.19 vedere la sezione 60.155
“ASC” a pagina 1859. “BITXOR” a pagina “DIFFTIME” a pag
1681. 1871.

COME IN ROTTURA DIVISO PER


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.159 vedere la sezione 60.49 vedere la sezione 60.27
"ASIN" a pagina "INTERRUZIONE" a pagina “DIVISO PER” su
1876. 1732. pagina 1694.

UN'ABBRONZATURA Bufferizzato

Per maggiori informazioni, Per maggiori informazioni,


vedere la sezione 60.160 vedere la sezione 60.63
“ATAN” a pag "Buffered" a pagina
1877. 1755.

04-20006-02-it, marzo 2019 Tecnico


1609
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

Continua
UN B C D

ATAN2
Per maggiori informazioni,
vedere la sezione 60.161
“ATAN2” a pag
1878.

MEDIA
Per maggiori informazioni,
vedere la sezione 60.137
“MEDIA” a pag
1845.

59.6.2 E-H
Questa tabella contiene parole chiave che iniziano con le lettere E - H.

E F G H

EQUIVALE FATTORIALE OttieniBufferSize HOD


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.22 vedere la sezione 60.120 vedere la sezione 60.111 vedere la sezione 60.84
“UGUALE” a pag “FACTORIALE” attivo "GetBufferSize" attivato "HOD" a pagina
1686. pagina 1826. pagina 1814. 1780.

ERRORI FALLIMENTO Ottieni valore bufferizzato ORA


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.94 vedere la sezione 60.8 vedere la sezione 60.112 vedere la sezione 60.85
“ERRORI” a pag "Guasto" a pag "GetBufferedValue" “ORA” a pag
1792. 1662. a pagina 1816. 1781.

ESPONENZIALE PAVIMENTO VAI A


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.119 vedere la sezione 60.133 vedere la sezione 60.52
“ESPONENZIALE” attivo “PAVIMENTO” a pag “GOTO” a pag
pagina 1825. 1841. 1737.

PER IL PROSSIMO

Per maggiori informazioni,


vedere la sezione 60.51
“PER...SUCCESSIVO” attivo

pagina 1734.

FREEMEM
Per maggiori informazioni,
vedere la sezione 60.95
“FREEMEM” a pag
1793.

Tecnico 04-20006-02-it, marzo 2019


1610
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

59.6.3 IN
Questa tabella contiene parole chiave che iniziano con le lettere I -N.

IO l M N

SE... ALLORA... ALTRO SINISTRA MASSIMO NON


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.53 vedere la sezione 60.146 vedere la sezione 60.138 vedere la sezione 60.24
“SE...ALLORA...ALTRIMENTI” “SINISTRA” a pag “MASSIMO” a pag “NON” a pagina 1690.
a pagina 1740. 1861. 1847.

INGRESSO LUNGHEZZA MAXITEM NUMERICO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.62 vedere la sezione 60.147 vedere la sezione 60.139 vedere la sezione 60.43
“INGRESSO” a pagina “LUNGHEZZA” a pag “MAXITEM” a pag “NUMERICO” a pag
1754. 1862. 1849. 1722.

È... LINEA METÀ NUMTOSTR


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.23 vedere la sezione 60.148 vedere la sezione 60.114
“È...” a pagina 1687. “MID” a pagina 1863. “NUMTOSTR” acceso
pagina 1818.

LN MINIMO
Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.121 vedere la sezione 60.140
“LN” a pagina 1827. “MINIMO” a pag
1851.

TRONCO D'ALBERO MINITEM


Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.122 vedere la sezione 60.141
“LOG” a pag “MINITEM” a pag
1828. 1853.

MENO
Per maggiori informazioni,
vedere la sezione 60.28
“MENO” a pag
1695.

MINUTO
Per maggiori informazioni,
vedere la sezione 60.86
“MINUTO” a pag
1782.

MOD
Per maggiori informazioni,
vedere la sezione 60.29
“MOD” a pag
1696.

04-20006-02-it, marzo 2019 Tecnico


1611
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

Continua
IO l M N

MESE
Per maggiori informazioni,
vedere la sezione 60.87
“MESE” a pag
1783.

MOSSA

Per maggiori informazioni,


vedere la sezione 60.54
“SPOSTA” a pagina
1744.

59.6.4 O-S
Questa tabella contiene parole chiave che iniziano con le lettere O - S.

O P R S

SPENTO P CASUALE SCANSIONE

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.9 vedere la sezione 60.35 “P” vedere la sezione 60.123 vedere la sezione 60.96
“OFF” a pagina 1663. a pagina 1703. “RANDOM” a pagina “SCANSIONE” a pagina
1829. 1794.

SU PASSATO LeggiProprietà SELEZIONA CASO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.10 vedere la sezione 60.130 vedere la sezione 60.127 vedere la sezione 60.57
“ON” a pagina 1664. “Funzione PASSATA” "LeggiProprietà" attivo “SELEZIONA CASO” attivato
a pagina 1838. pagina 1834. pagina 1748.

- SU PIÙ Rinunciare SECONDO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.11 vedere la sezione 60.30 vedere la sezione 60.128 vedere la sezione 60.88
“- ON” a pagina 1665. “PIÙ” a pag “Rinunciare” a pag “SECONDO” a pag
1697. 1835. 1785.

O STAMPA Ripeti... fino al RICERCA


Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.25 vedere la sezione 60.36 vedere la sezione 60.55 vedere la sezione 60.150
“OR” a pagina 1691. “STAMPA” a pag “Ripeti... fino a” attivo “CERCA” a pag
1704. pagina 1745. 1865.

PRODUZIONE PUBBLICO RITORNO IMPOSTATO

Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni, Per maggiori informazioni,
vedere la sezione 60.64 vedere la sezione 60.65 vedere la sezione 60.56 vedere la sezione 60.37
“USCITA” a pag “PUBBLICO” a pag “RESTITUZIONE” a pag “IMPOSTA” a pagina 1710.
1756. 1757. 1746.

Tecnico 04-20006-02-it, marzo 2019


1612
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

Continua
O P R S

GIUSTO PECCATO

Per maggiori informazioni, Per maggiori informazioni,


vedere la sezione 60.149 vedere la sezione 60.163
“DESTRA” a pag “PECCATO” a pagina 1880.
1864.

GIRARE Deviazione standard


N
Per maggiori informazioni,
vedere la sezione 60.134 Per maggiori informazioni,
“ROUND” a pag vedere la sezione 60.142
1842. "Deviazione standard"
a pagina 1855.

FERMARE

Per maggiori informazioni,


vedere la sezione 60.58
“STOP” a pag
1750.

CORDA
Per maggiori informazioni,
vedere la sezione 60.44
"STRING" a pagina
1724.

RIEMPIMENTO STRINGA

Per maggiori informazioni,


vedere la sezione 60.152
“STRINGFILL” attivato
pagina 1867.

STRTODATA
Per maggiori informazioni,
vedere la sezione 60.115
“STRTODATE” attivo
pagina 1819.

STRTONUM
Per maggiori informazioni,
vedere la sezione 60.116
“STRTONUM” acceso
pagina 1821.

SQRT
Per maggiori informazioni,
vedere la sezione 60.124
"SQRT" a pagina
1830.

SOMMA

Per maggiori informazioni,


vedere la sezione 60.125
“SOMMA” a pag
1831.

04-20006-02-it, marzo 2019 Tecnico


1613
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

59.6.5 T-Y
Questa tabella contiene parole chiave che iniziano con le lettere T - Y.

T W Y

TAB ASPETTARE ANNO


Per ulteriori informazioni, Per ulteriori informazioni, Per ulteriori informazioni,
vedere la sezione 60.153 “TAB” a vedere la sezione 60.59 “WAIT” a vedere la sezione 60.92 “ANNO”
pagina 1869. pagina 1751. a pagina 1790.

ABBRONZATURA Servizio web


Per ulteriori informazioni, Per ulteriori informazioni, vedere la
vedere la sezione 60.164 “TAN” a sezione 60.46 “Servizio Web” a
pagina 1881. pagina 1727.

OROLOGIO GIORNO FERIALE

Per ulteriori informazioni vedere Per ulteriori informazioni, vedere la


la sezione 60.156 “OROLOGIO” a sezione 60.91 “GIORNO
pagina 1873. SETTIMANALE” a pagina 1788.

TOD MENTRE

Per ulteriori informazioni, Per ulteriori informazioni, vedere


vedere la sezione 60.89 “TOD” a la sezione 60.60 “MENTRE” a
pagina 1786. pagina 1752.

TD WriteProperty
Per ulteriori informazioni, vedere Per ulteriori informazioni, vedere la
la sezione 60.78 “TD” a pagina sezione 60.129
1772. “WriteProperty” a pagina
1836.

TH
Per ulteriori informazioni, vedere la
sezione 60.77 “TH” a pagina 1771.

IL
Per ulteriori informazioni, vedere
la sezione 60.45 “IL” a pagina
1726.

VOLTE
Per ulteriori informazioni,
vedere la sezione 60.31 “TEMPI”
a pagina 1698.

TM
Per ulteriori informazioni, vedere la
sezione 60.76 “TM” a pagina 1770.

TS
Per ulteriori informazioni, vedere
la sezione 60.75 “TS” a pagina
1769.

Tecnico 04-20006-02-it, marzo 2019


1614
59 Introduzione alla sceneggiatura

59.6 Parole chiave dello script

Continua
T W Y

GIRO
Per ulteriori informazioni,
vedere la sezione 60.38 “TURN”
a pagina 1712.

TRONCARE
Per ulteriori informazioni, vedere
la sezione 60.135 “TRUNCATE” a
pagina 1843.

04-20006-02-it, marzo 2019 Tecnico


1615
59 Introduzione alla sceneggiatura

59.7 Flusso del programma di script

59,7 Flusso del programma di script

I programmi di script indicano a un server EcoStruxure BMS di eseguire numerose azioni, come
aumentare il calore, bloccare le porte e stampare report. Le istruzioni del programma che
comandano queste azioni sono disposte ed eseguite in un determinato ordine, noto come flusso del
programma.

Lo script ha due tipi di flussi di programma: FallThru e Looping.

59.7.1 Flusso del programma FallThru


Un programma FallThru esegue le righe del programma nell'ordine sequenziale in cui le
elenchi: dalla prima riga all'ultima riga. Pertanto, il programma scorre o "cade
attraverso" l'intera sequenza di istruzioni.
Per ulteriori informazioni, vedere la sezione 59.8 “Flusso del programma FallThru” a pagina 1617..

59.7.2 Flusso del programma in loop


Un programma in loop rimane su una riga finché non viene richiesto al programma di passare a
un'altra riga.

Per ulteriori informazioni, vedere la sezione 59.9 “Flusso del programma in loop” a pagina 1619.

Tecnico 04-20006-02-it, marzo 2019


1616
59 Introduzione alla sceneggiatura

59.8 Flusso del programma FallThru

59,8 Flusso del programma FallThru


Un programma FallThru esegue le righe del programma nell'ordine sequenziale in cui le
elenchi: dalla prima riga all'ultima riga. Pertanto, il programma scorre o "cade
attraverso" l'intera sequenza di istruzioni.
Nel seguente esempio di programma FallThru, quando il controller determina che la
temperatura non è inferiore a 70 e non superiore a 75, il programma passa alla riga
consecutiva successiva (etichettata "Pompaggio").

Figura: Esempio di programma Script FallThru

I programmi FallThru si avviano quando richiesto da un punto specifico o da una variabile di sistema.
Qualsiasi punto o variabile di sistema può avviare automaticamente un programma quando il suo valore
cambia. Il programma viene attivato dall'azione del punto o della variabile di sistema. Una volta creato un
punto o scelta una variabile di sistema, il programma che desideri eseguire viene collegato tramite il trigger.

Ad esempio, supponiamo di scrivere un programma per controllare una ventola circolante. Vuoi che
il ventilatore si accenda quando la stanza è occupata e si spenga quando la stanza non è occupata.
Nel tuo programma, potresti scegliere di utilizzare un punto chiamato OCCUPIED che attiva il
seguente programma.

Figura: Trigger del programma FallThru

04-20006-02-it, marzo 2019 Tecnico


1617
59 Introduzione alla sceneggiatura

59.8 Flusso del programma FallThru

Si configura il trigger per il punto OCCUPIED sul controller di campo b3. Tieni presente che puoi
configurare i trigger solo sul dispositivo b3. Per ulteriori informazioni, vedere la sezione 100.10
“Configurazione dei trigger di programma Script FallThru in un dispositivo BACnet b3” a pagina
3746..

Tecnico 04-20006-02-it, marzo 2019


1618
59 Introduzione alla sceneggiatura

59.9 Flusso del programma in loop

59,9 Flusso del programma in loop


Un programma in loop rimane su una riga finché non viene richiesto al programma di passare a
un'altra riga.

Nel seguente esempio di programma Looping, il programma esegue la scansione continua della linea
CheckOccupied per determinare se l'ufficio è occupato. In tal caso il programma accende le luci e il
ventilatore dell'ufficio. In caso contrario, il programma li disattiva.

Figura: Esempio di programma in loop

04-20006-02-it, marzo 2019 Tecnico


1619
59 Introduzione alla sceneggiatura

59.10 Istruzioni del programma script

59.10 Istruzioni del programma di script


Il linguaggio di programmazione Script è costituito da una serie di istruzioni che indicano al server
EcoStruxure BMS cosa fare. Ciascuna istruzione è una descrizione completa del comando testuale
che indica al server EcoStruxure BMS di intraprendere un tipo di azione specifica per controllare un
edificio. Le istruzioni del programma sono elencate nell'ordine in cui il controllore deve eseguirle.

Lo script ha due tipi di istruzioni di programma: condizionali e incondizionate. Un'istruzione


condizionale stabilisce i criteri che devono essere soddisfatti prima che l'istruzione possa
essere eseguita e l'attività eseguita da un server EcoStruxure BMS:

SE la temperatura è 78 ALLORA accendere la ventola

Un'istruzione incondizionata dirige un'azione specifica senza stabilire alcun criterio prima che
l'azione possa verificarsi:

Accendi la ventola

È possibile utilizzare "il" in un'istruzione del programma Script per rendere l'istruzione più facile da
leggere. I seguenti esempi mostrano come “il” migliora la leggibilità di un’affermazione:

SE LA VENTOLA È ACCESA, ACCENDERE LA POMPA

SE LA VENTOLA È ACCESA, ACCENDERE LA POMPA

59.10.1 Righe e numeri di riga


Una riga funge da unità di esecuzione di base di un programma Script. Le righe sono costituite da una o
più istruzioni che appartengono insieme sotto un'unica etichetta. Non è necessario che la prima o l'unica
riga di un programma abbia un'etichetta. Puoi anche aggiungere qui un commento preceduto da una
virgoletta singola ('), per aiutare a spiegare il funzionamento del programma. I commenti non vengono
gestiti dalla logica del programma.

Ad esempio, puoi creare un programma semplice che contenga una singola dichiarazione
seguita da una singola riga di programma:

Numeric i 'Dichiarazione di una variabile locale di tipo Numeric i = 1


'Riga di programma singola
Puoi aggiungere un'etichetta alla

riga: Numerico i

Impostazione della linea

io = 1
In questo esempio, la riga è etichettata con la parola chiave Line o con i due punti dopo il nome della riga (ma non
con entrambi). Tutte le istruzioni che seguono l'etichetta "Impostazioni" fanno quindi parte di quella riga finché non
viene incontrata un'altra etichetta di riga.

Per ulteriori informazioni, vedere la sezione 59.11 “Righe e numeri di riga” a pagina 1622.

59.10.2 Verbo ed elementi verbali


Per costruire un'istruzione del programma Script, è necessario seguire queste linee guida:

• Utilizzare un solo verbo

Tecnico 04-20006-02-it, marzo 2019


1620
59 Introduzione alla sceneggiatura

59.10 Istruzioni del programma script

• Utilizzare un elemento verbale o un elenco di elementi verbali dopo il

verbo. Ad esempio, queste istruzioni del programma Script sono valide: APRIRE

LA SERRANDA

CHIUDERE LA VALVOLA

Aprire la serranda, vent1, vent2, vent3 e vent4 Chiudere la


prima valvola, la seconda valvola, la terza valvola
Non è possibile utilizzare due verbi, come aprire e chiudere, nella stessa istruzione.
Pertanto, questa istruzione non è valida:

APRIRE LA SERRANDA E CHIUDERE LA VALVOLA

59.10.3 Sensibilità alle maiuscole/minuscole

Le istruzioni dello script non fanno distinzione tra maiuscole e minuscole. Ad esempio, la lettera maiuscola
R e la lettera minuscola r non vengono trattate diversamente. In Script, i seguenti nomi vengono trattati
allo stesso modo:

Temp. stanza1

TEMPAMBIENTE1

Elemento della stanzaP1

59.10.4 Parole riservate


Le parole riservate sono quelle parole utilizzate come costanti di sistema, parole chiave, funzioni di sistema e
variabili di sistema riservate come parte del linguaggio di programmazione Script. Avere familiarità con
queste parole aiuta a evitare errori di denominazione. Non è possibile utilizzare parole riservate come
etichette di riga o variabili di programma.

Prima di importare programmi meno recenti sui controller, verificare la presenza di parole
riservate nel programma e rimuoverle o sostituirle. Per ulteriori informazioni, vedere la sezione
59.12 “Parole riservate” a pagina 1623.

04-20006-02-it, marzo 2019 Tecnico


1621
59 Introduzione alla sceneggiatura

59.11 Righe e numeri di riga

59.11 Righe e numeri di riga


Una riga funge da unità di esecuzione di base di un programma Script. Le righe sono costituite da una o
più istruzioni che appartengono insieme sotto un'unica etichetta. Non è necessario che la prima o l'unica
riga di un programma abbia un'etichetta. Puoi anche aggiungere qui un commento preceduto da una
virgoletta singola ('), per aiutare a spiegare il funzionamento del programma. I commenti non vengono
gestiti dalla logica del programma.

Etichetta una riga con la parola chiave LINE o due punti dopo il nome della riga:

Figura: Etichettatura della linea

Nell'esempio precedente, tutte le istruzioni che seguono l'etichetta "BEGIN" fanno parte di
quella riga, finché non viene incontrata un'altra etichetta LINE. Le etichette delle righe sono
limitate a 16 caratteri, inclusi trattini bassi, punti e numeri.

Le istruzioni in una riga sono rientrate per enfatizzare la loro relazione con l'etichetta della riga.
Idealmente, dovresti sempre formare le linee in questo modo.

È possibile numerare le righe nella finestra del programma in Script per un facile riferimento durante la
programmazione. Quando abiliti questa funzione, i numeri di riga vengono visualizzati sul lato sinistro
dell'editor di script.

Figura: numerazione delle righe

Tecnico 04-20006-02-it, marzo 2019


1622
59 Introduzione alla sceneggiatura

59.12 Parole riservate

59.12 Parole riservate


Le parole riservate sono quelle parole utilizzate come costanti di sistema, parole chiave, funzioni di sistema e
variabili di sistema riservate come parte del linguaggio di programmazione Script. Avere familiarità con
queste parole aiuta a evitare errori di denominazione. Non è possibile utilizzare parole riservate come
etichette di riga o variabili di programma.

Prima di importare programmi meno recenti sui controller, verificare la presenza di parole
riservate nel programma e rimuoverle o sostituirle.

59.12.1 Costanti dello script


Le costanti dello script, inclusi i nomi delle classi, sono elencate in ordine alfabetico nelle tabelle
seguenti. Non è possibile utilizzare costanti script come etichetta di riga o variabile di programma.

Per ulteriori informazioni, vedere la sezione 60.6 “Costanti di script” a pagina 1659.

59.12.2 Parole riservate allo script


Le parole riservate allo script sono elencate in ordine alfabetico nelle tabelle seguenti. Non è possibile
utilizzare parole riservate come etichetta di riga o variabile di programma.

Per ulteriori informazioni, vedere la sezione 59.13 “Parole riservate dello script” a pagina 1624.

04-20006-02-it, marzo 2019 Tecnico


1623
59 Introduzione alla sceneggiatura

59.13 Parole riservate dello script

59.13 Parole riservate allo script


Le parole riservate allo script sono elencate in ordine alfabetico nelle tabelle seguenti. Non è possibile
utilizzare parole riservate come etichetta di riga o variabile di programma.

Tabella: Parole riservate AH


UN B C D E F G H

Sopra Basato su C Data E Fatto OttieniOggetto Hod


T

Addominali Sotto Caso Appuntamento O Fattoriale Andare Ora

AccediLo Fra CD Giorno del Mo Altro Primo Vai a HourOfD


G ennesimo Ay
GiornoOfYe
ar

AccessoS Bitand Soffitto Del En Pavimento Maggiore Ora


sempre

AckAlarm Bitnot Modifica DiffTime Abilitare Per

Acos Bitor Chr Dis Crittografare Da

Regolare Bitxor Cos disattivare Crittografare


D

Tutto Rottura Coseno Div FINE

Sono Breakpoint Curvefit Diviso Finisci se

nt

E Di Fa FineSelezione
T

Aggiungere Dom FineQuando

Arcoseno Doy FineMentre

Arctang Dt Pari
nt

Arctang Equivale
nt2

Arg Cancellare

Asc Errori
Eseguire

Come in Esiste

Chiedere Esp

Un'abbronzatura Esponenti
al

Atan2

Tecnico 04-20006-02-it, marzo 2019


1624
59 Introduzione alla sceneggiatura

59.13 Parole riservate dello script

Continua
UN B C D E F G H

Media

Media

Media

Tabella: parole riservate IS


IO l M N O P R S

Se Scorso Massimo Nessuno dei due Oggetto P Casuale SC

In Sinistra Massimo Prossimo Aprire Param Ritorno Scansione

È Len Maxitem Non O Passato Giusto SD

Lunghezza Messaggio Numero Produzione Pid Rnd Ricerca


Finestra

Meno Metà Numerico Più Correre Sez


Secondo

Permettere minimo NumToSt PM Selezionare

Ln Minimo Stampa Pr Impostato

Tronco d'albero Minimo Chiuso

Cercare Meno Peccato

Minuto seno

Mod Luogo

Modificare Sqrt

Mese Standard
-
Deviazione

Mossa Inizio

Mese Stato

Mult StatoLin
e

Moltiplicato Fare un passo

Fermare

Corda

Stringfill

04-20006-02-it, marzo 2019 Tecnico


1625
59 Introduzione alla sceneggiatura

59.13 Parole riservate dello script

Continua
IO l M N O P R S

StrToDat
e

StrToNu
M

StrToTim
e

Somma

Tabella: Parole riservate TZ


T U V W

Tab Sconsigliato Val Giorno feriale

Abbronzatura PIN univoco Versione Quando

Tangente Fino a Dove

Td Aggiornamento Mentre

Gi Aggiorna allarmi Con

Di AggiornaEventi WriteProperty

IL AggiornaExitLog

Poi

Attraverso

Attraverso

Tempo

Ora del giorno

Orologio

Volte

TmTo

Tod

Cella toccata

Traccia

Tronco

Troncare

Tecnico 04-20006-02-it, marzo 2019


1626
59 Introduzione alla sceneggiatura

59.13 Parole riservate dello script

Continua
T U V W

Ts

Giro

04-20006-02-it, marzo 2019 Tecnico


1627
59 Introduzione alla sceneggiatura

59.14 Collegamenti e programmi di script

59.14 Associazioni e programmi di script


Un'associazione è un'associazione tra una variabile locale (numerica, stringa, data/ora, funzione)
all'interno di un programma Script e una proprietà di un oggetto nel sistema. L'uso dei collegamenti
aumenta la flessibilità del sistema di automazione degli edifici. È possibile scrivere un programma
per un'applicazione e utilizzare quel programma per un'applicazione simile semplicemente
modificando i collegamenti invece di modificare tutti i nomi delle variabili locali nel programma per
adattarli al nuovo programma.

59.14.1 Dichiarazioni di variabili locali


In Script si dichiarano variabili locali utilizzando la parola chiave Input, Output o Public Binding.
Quindi, si associano tali variabili alle proprietà dell'oggetto. Ad esempio, è possibile associarlo
al valore di un punto oppure associare l'output di un programma all'input di un altro
programma.

Nota
Con i collegamenti non sei limitato esclusivamente alle proprietà di punti e programmi. Puoi
anche utilizzare altri tipi di oggetto.

Per ulteriori informazioni, vedere la sezione 59.16 “Dichiarazioni di variabili locali” a pagina
1630.

59.14.2 Attributi vincolanti


Importante

I quattro attributi di associazione in un programma Script: Forzato, Non valido, Offline e


Sostituito non sono supportati nel software EcoStruxure Building Operation.

Tecnico 04-20006-02-it, marzo 2019


1628
59 Introduzione alla sceneggiatura

59.15 Associazione di valori in Script Editor utilizzando un modello di associazione

59.15 Associazione di valori in Script Editor utilizzando un


modello di associazione
I modelli di associazione vengono utilizzati per ridurre i tempi di progettazione durante la creazione di associazioni
per variabili e funzioni all'interno di un programma Script. I modelli di rilegatura vengono definiti e creati per
modelli di rilegatura che vengono riutilizzati frequentemente. È possibile accedere alla visualizzazione Associazioni
senza uscire dallo Script Editor.

Per ulteriori informazioni, vedere la sezione 16.1 “Modelli di rilegatura” a pagina 405.

Per associare valori in Script Editor utilizzando un modello di associazione

1. Nell'editor di script, fare clic suLegamiper visualizzare la vista Associazioni per il


programma Script.

2. NelLegamiVisualizza, nel browser dei punti di rilegatura trascinare l'oggetto o la cartella sul
modello di rilegatura che si desidera applicare.

3. NelConferma le associazionifinestra di dialogo, selezionare le associazioni che si desidera


creare.

4. Fare clicOK.

5. NelLegamiVisualizza, verifica che tutte le associazioni siano correttamente legate.

6. Sulla barra degli strumenti, fare clic suSalva.

04-20006-02-it, marzo 2019 Tecnico


1629
59 Introduzione alla sceneggiatura

59.16 Dichiarazioni di variabili locali

59.16 Dichiarazioni di variabili locali


In Script si dichiarano variabili locali utilizzando la parola chiave Input, Output o Public Binding.
Quindi, si associano tali variabili alle proprietà dell'oggetto. Ad esempio, è possibile associarlo
al valore di un punto oppure associare l'output di un programma all'input di un altro
programma.

Nota
Con i collegamenti non sei limitato esclusivamente alle proprietà di punti e programmi. Puoi
anche utilizzare altri tipi di oggetto.

Durante l'esecuzione, quando il programma ottiene il valore di una variabile Input, il


programma ottiene il valore della proprietà dell'oggetto (il valore di un punto). Quando il
programma imposta il valore di una variabile di Output, il programma imposta il valore della
proprietà dell'oggetto (il valore di un punto).

È possibile utilizzare un'associazione con quanto segue:

• Variabili di input
• Variabili di uscita
• Variabili pubbliche

• Funzioni definite dall'utente

Qualsiasi input hardware o software, dispositivo di output come una ventola, un sensore di
movimento o una funzione script è rappresentato come un oggetto nel database EcoStruxure
Building Operation. Quando crei una variabile locale in Script, tale variabile è generica e può
potenzialmente essere associata alla proprietà dell'oggetto e alla variabile locale a cui è associata la
proprietà. La proprietà dell'oggetto e la variabile locale devono avere tipi simili. Ad esempio, puoi
associare una variabile locale numerica a un numero intero, float, digitale ed enumerazione anziché a
una stringa o a una data/ora.

Un esempio di associazione con un programma di script


Per accedere ai valori dei punti nel sistema tramite associazioni, un programma di script deve
includere variabili locali di input, output, pubbliche o funzioni. La figura seguente mostra il
Legamivista per un programma Script.

Tecnico 04-20006-02-it, marzo 2019


1630
59 Introduzione alla sceneggiatura

59.16 Dichiarazioni di variabili locali

Figura: Visualizzazione dei collegamenti per un programma di script

Mancia

Vengono visualizzate le schede delle proprietà corrispondenti, una per ciascun tipo di associazione. Queste
schede elencano ciascuna delle variabili locali che possono essere associate ad altri oggetti nel sistema.

In Script, è possibile associare utilizzando la vista Associazioni in WorkStation o la vista Associazioni


nell'Editor di Script. Per ulteriori informazioni, vedere la sezione 46.10 “Associazione di valori
mediante un modello di associazione” a pagina 1246.

Utilizzando la vista Associazioni in Script Editor, puoi far scorrere la vista, sovrapporre il tuo
programma Script, associare gli oggetti necessari, ritrarre la vista e quindi riprendere la
programmazione senza uscire dallo Script Editor.

04-20006-02-it, marzo 2019 Tecnico


1631
59 Introduzione alla sceneggiatura

59.16 Dichiarazioni di variabili locali

Figura: Visualizzazione associazioni - Visualizzazione dispositivo di scorrimento

Puoi anche sganciare la vista Associazioni in Script Editor e includerla come scheda
ovunque desideri nella finestra Editor. Ad esempio, puoi posizionarlo nella parte inferiore
della finestra come mostrato nell'immagine seguente.

Tecnico 04-20006-02-it, marzo 2019


1632
59 Introduzione alla sceneggiatura

59.16 Dichiarazioni di variabili locali

Figura: Visualizzazione associazioni - Visualizzazione a schede

Qualificatore di associazione pubblica

Public è un qualificatore vincolante che identifica una variabile come variabile pubblica. È possibile
modificare una variabile pubblica dall'esterno di un programma Script, ad esempio da un'immagine.

Public si comporta come una variabile di output, quindi puoi associare la variabile pubblica al valore di un
punto o alla variabile di input di un programma Script come faresti con qualsiasi variabile di output. A
differenza di una variabile di output, non è necessario utilizzare la funzionalità di forzatura per modificare
Public dalla griglia delle proprietà dello script o da un'immagine.

È necessario utilizzare il qualificatore di associazione pubblica quando è necessario modificare direttamente la


variabile dalla griglia delle proprietà dello script (ovvero, modificare il valore a cui è associata la variabile di
associazione pubblica). A differenza di una variabile di output, è possibile modificare manualmente il valore della
variabile pubblica da un elemento grafico.

04-20006-02-it, marzo 2019 Tecnico


1633
59 Introduzione alla sceneggiatura

59.17 Compiti

59.17 Compiti
I programmi con blocchi funzione e script devono essere collegati alle attività per poter essere eseguiti. È
possibile accedere ad Attività dalla finestra di dialogo Proprietà.

Il task è una proprietà dell'oggetto che definisce i cicli del programma.


Quando si crea un nuovo blocco funzione o programma script, l'Attività 3 è l'impostazione predefinita. Ciò
significa che un ciclo di programma viene eseguito in 1000 ms.

Figura: compiti

Il modo in cui pianifichi l'esecuzione dei programmi in Script è diverso da come ne pianifichi
l'esecuzione in Continuum. Per ulteriori informazioni, vedere ilDifferenze di programma tra script e
inglese sempliceargomento su WebHelp.

Tabella: Intervalli di attività

Compito Intervallo

Compito 1 0,1 secondi

Compito 2 0,5 secondi

Compito 3 1 secondo

Compito 4 5 secondi

Compito 5 10 secondi

Tecnico 04-20006-02-it, marzo 2019


1634
59 Introduzione alla sceneggiatura

59.18 Aggiunta di un'attività a un programma

59.18 Aggiunta di un'attività a un programma


Per eseguire un programma script o blocco funzione, il programma deve essere connesso a
un task.

Per ulteriori informazioni, vedere la sezione 59.17 “Attività” a pagina 1634.

Per aggiungere un'attività a un programma

1. Nella WorkStation, nelAlbero del sistemariquadro, seleziona il programma a cui desideri


aggiungere un'attività.

2. SulFilemenu, fare clicProprietà.

3. NelCompitocasella, inserisci l'attività che desideri aggiungere.

4. Fare clicOK.

04-20006-02-it, marzo 2019 Tecnico


1635
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

59.19 Cicli di programma nel software per la gestione


degli edifici EcoStruxure
Tutti i programmi vengono eseguiti nell'ordine in cui sono collegati nel software EcoStruxure Building
Operation. Ad esempio, nei programmi eseguiti in ordine diretto o in qualsiasi configurazione simile, il
Programma 4 viene eseguito dopo il Programma 3 che viene eseguito dopo il Programma 2 che viene
eseguito dopo il Programma 1. Il primo programma da eseguire è il Programma 1.

L'illustrazione che segue mostra la sequenza di esecuzione per una configurazione di ordine
semplice.

Figura: ordine di esecuzione dei programmi

Quando i programmi sono collegati in un ciclo algebrico, non è possibile determinare l'ordine di esecuzione
ed è necessario stabilire il programma che verrà eseguito per primo. Nel software EcoStruxure Building
Operation, i cicli algebrici sono chiamati Cicli. In questo caso non è possibile determinare l'ordine di
esecuzione dei programmi. Il Programma 4 viene eseguito dopo il Programma 3 che viene eseguito dopo il
Programma 2 che viene eseguito dopo il Programma 1 che viene eseguito dopo il Programma 4.

Figura: In un ciclo algebrico l'ordine di esecuzione dei programmi non può essere determinato facilmente.

Per risolvere un ciclo e determinare quale programma viene eseguito per primo nel ciclo, si utilizza la
funzione di precedenza di esecuzione. I programmi possono avere valori di precedenza di
esecuzione compresi tra 0 e 255 dove 0 corrisponde alla priorità più alta e 255 alla priorità più bassa.
Il programma con la precedenza di esecuzione più alta viene sempre eseguito per primo nel ciclo.

Precedenza di esecuzione

Valori: Numeri interi compresi tra 0 e 255

Valore di priorità più alto: 0

Valore di priorità più basso: 255

La precedenza di esecuzione viene configurata nelle proprietà del programma. Il valore


predefinito quando crei un nuovo programma è 100.

Tecnico 04-20006-02-it, marzo 2019


1636
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

Figura: precedenza di esecuzione

La precedenza di esecuzione non può mai sovrascrivere l'ordine di esecuzione dei programmi in
base al modo in cui sono vincolati. La precedenza di esecuzione decide l'ordine in cui i
programmi vengono eseguiti quando sono impostati in una qualche forma di ciclo e
l'associazione non fornisce un ordine diretto per cui il programma viene eseguito per primo.

La precedenza di esecuzione può essere utilizzata in due diverse situazioni:

• Determinare l'ordine di esecuzione quando i programmi sono legati in un ciclo.

• Come risoluzione dei problemi, ad esempio quando si verificano ritardi senza motivo noto. Un
lungo ritardo potrebbe essere il risultato di programmi eseguiti nell'ordine sbagliato.

59.19.1 Esempio A
In questo esempio abbiamo quattro programmi collegati in un ciclo. Non è possibile determinare l'ordine di
esecuzione dal modo in cui i programmi sono vincolati. Il Programma 1 deve essere eseguito prima del
Programma 2, il Programma 2 prima del Programma 3 e il Programma 4 prima del Programma 1.

04-20006-02-it, marzo 2019 Tecnico


1637
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

Figura: esempio

Tuttavia, il Programma 2 legge da un ingresso fisico, Ingresso A, e le informazioni da questa


lettura vengono trasferite al Programma 4, che scrive su un'uscita fisica, Uscita B.

Figura: esempio

Quindi, vogliamo che il Programma 2 venga eseguito prima del Programma 4. Per fare ciò utilizziamo la
precedenza di esecuzione. Configurando la precedenza di esecuzione come 99 per il Programma 2, il
Programma 2 sarà il primo programma ad essere eseguito nel ciclo.

Figura: esempio

L'ordine di esecuzione risultante sarà P2, P3, P4 e P1.

Tecnico 04-20006-02-it, marzo 2019


1638
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

59.19.2 Esempio B
Tutti i programmi utilizzano la precedenza di esecuzione predefinita che è 100. In questo esempio,
non è possibile determinare l'ordine di esecuzione del Programma 1 e del Programma 2 e l'ordine di
esecuzione del Programma 3 e del Programma 4. L'unica cosa di cui possiamo essere sicuri è che il
ciclo con il Programma 1 e il Programma 2 viene eseguito prima del ciclo con il Programma 3 e il
Programma 4 poiché il Programma 3 attende l'input dal Programma 2.

Figura: esempio

Per risolvere l'ordine configuriamo il Programma 2 e il Programma 3 in modo che abbiano la precedenza di
esecuzione di 99. Quindi il Programma 2 viene eseguito prima del Programma 1 nel primo ciclo e il
Programma 3 prima del Programma 4 nel secondo ciclo.

Figura: esempio

Ora l'ordine di esecuzione è Programma 2, Programma 3, Programma 4 e Programma 1.

59.19.3 Pianificatore dell'applicazione


L'Application Scheduler visualizza l'ordine di esecuzione dei programmi e se sono presenti cicli nel
sistema. Nel riquadro Struttura del sistema, l'Utilità di pianificazione dell'applicazione viene
visualizzata nella cartella Moduli. I programmi sono rappresentati con una voce sotto il compito a
cui sono assegnati.

04-20006-02-it, marzo 2019 Tecnico


1639
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

Figura: pianificazione dell'applicazione

L'oggetto denominato ciclo identifica un ciclo. Nella finestra di dialogo delle proprietà dell'attività, la
proprietà "Conflitto" è impostata su "Vero" se è presente un ciclo nell'attività. I conflitti non significano che i
programmi non funzioneranno affatto. I programmi verranno eseguiti ma potrebbero essere eseguiti in un
ordine di esecuzione che potrebbe causare ritardi inutili dall'input all'output.

Tecnico 04-20006-02-it, marzo 2019


1640
59 Introduzione alla sceneggiatura

59.19 Cicli di programma nel software EcoStruxure Building Operation

Figura: impostazione del conflitto nell'attività 3

Utilizzare la visualizzazione elenco per vedere l'ordine di esecuzione dei programmi.

Figura: voci nella visualizzazione elenco

L'immissione è l'ordine di esecuzione dei programmi per un'attività specifica. In questo caso il Programma 2 viene
eseguito per primo seguito dal Programma 4. Il Programma 3 viene eseguito per ultimo.

04-20006-02-it, marzo 2019 Tecnico


1641
59 Introduzione alla sceneggiatura

59.20 Configurazione della precedenza di esecuzione per un programma

59.20 Configurazione della precedenza di esecuzione per


un programma
Si configura il numero di precedenza di esecuzione più alto sul programma che si desidera venga
eseguito per primo in un ciclo.

Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.

Per configurare la precedenza di esecuzione di un programma


1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il programma.

2. SulFilemenu, fare clicProprietà.

3. NelPrecedenza di esecuzionecasella, inserire un numero superiore a tutti gli


altri programmi del ciclo.

4. Fare clicOK.

Tecnico 04-20006-02-it, marzo 2019


1642
59 Introduzione alla sceneggiatura

59.21 Trovare cicli in un compito

59.21 Trovare cicli in un'attività


Se si riscontrano ritardi imprevisti nella risposta dall'input all'output, l'ordine di esecuzione dei
programmi in un'attività potrebbe non essere ottimizzato.

Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.

Per trovare cicli in un'attività

1. Nella WorkStation, nelAlbero del sistemariquadro, nelSistemacartella, apri il


file Moduli, poiApplicationSchedulerpieghe.

2. Apri un'attività.

3. Se l'attività contiene un oggetto chiamatoCiclo, è presente un ciclo.

04-20006-02-it, marzo 2019 Tecnico


1643
Tradotto dal Inglese al Italiano - [Link]

60Programmazione di script

Temi
Componenti del programma script

Costanti del programma

Costanti numeriche
Costanti di stringa
Codici ASCII
Costanti dello script
Parole chiave costanti
Fallimento

SPENTO

SU
- SU
Successo
Operatori del programma

Parole chiave dell'operatore

Operatori bit a bit


BITAND
BITNOT
BITORE
BITXOR
Operatori logici
60 E
EQUIVALE
È...
NON
O
Operatori matematici
DIVISO PER
MENO
MOD
PIÙ
VOLTE
Dichiarazioni del programma

Parole chiave dell'istruzione

Dichiarazioni di azione

P
STAMPA

IMPOSTATO

GIRO
Dichiarazioni di dichiarazione

ARG
APPUNTAMENTO

LINEA
NUMERICO
CORDA
IL
Servizio web
Istruzioni di controllo del
programma BASEDON...GOTO
ROTTURA
60 CONTINUA
PER IL PROSSIMO

VAI A
SE... ALLORA... ALTRO
MOSSA
Ripeti... fino al
RITORNO
SELEZIONA CASO
FERMARE

ASPETTARE

MENTRE
Dichiarazioni qualificanti
INGRESSO

Bufferizzato

PRODUZIONE

PUBBLICO

Espressioni
Variabili
Dichiarazione di una variabile

Variabili del programma

Variabili del programma locale

Tipi di riquadro delle variabili

Array di programmi

Variabili di sistema
Variabili di runtime dello script
TS
TM
TH
TD
60 Parole chiave delle variabili di sistema
Data e ora Variabili di sistema DATA

GIORNO DEL MESE


GIORNO DELL'ANNO

HOD
ORA
MINUTO
MESE
SECONDO
TOD
Scostamento UTC

GIORNO FERIALE

ANNO
ERRORI delle variabili di sistema
runtime
FREEMEM
SCANSIONE

Funzioni dello script

Flusso di lavoro delle funzioni di script


Funzioni di script senza argomenti Funzioni di
script con argomenti Funzioni di script che
restituiscono un valore Funzioni e programmi
di script Dichiarazioni e istruzioni di funzioni
Dichiarazione e chiamata di una funzione di
script Creazione di una funzione di script

Dichiarazione di un argomento di funzione di script

Controllo e salvataggio di una funzione di script


60 Funzioni di sistema
Parole chiave delle funzioni di sistema

Funzioni delle variabili memorizzate nel

buffer GetBufferSize

Ottieni valore bufferizzato

Funzioni di conversione
NUMTOSTR
STRTODATA
STRTONUM
Funzioni matematiche
addominali

ESPONENZIALE
FATTORIALE
LN
TRONCO D'ALBERO

CASUALE
SQRT
SOMMA

Funzioni degli oggetti

LeggiProprietà
Rinunciare
WriteProperty
Funzione PASSATA
Funzioni di arrotondamento

SOFFITTO
PAVIMENTO

GIRARE
TRONCARE
Funzioni statistiche
60 MEDIA
MASSIMO
MAXITEM
MINIMO
MINITEM
Deviazione standard
Funzioni di stringa
ASC
CHR
SINISTRA

LUNGHEZZA

METÀ
GIUSTO
RICERCA
TROVARE

RIEMPIMENTO STRINGA

TAB
Funzioni temporali
DIFFICILE
OROLOGIO
Funzioni trigonometriche
ACOS
COME IN

UN'ABBRONZATURA

ATAN2
COS
PECCATO

ABBRONZATURA
60 Programmazione di script
60.1 Componenti del programma di script

60.1 Componenti del programma di script


I programmi di script sono composti dai seguenti componenti che ti consentono di sviluppare
i tuoi programmi in modo rapido e semplice:

• Costanti del programma

• Operatori del programma

• Dichiarazioni di programma

• Espressioni
• Variabili
Ad esempio, puoi creare istruzioni di programma con il linguaggio quotidiano, quindi non è
necessario essere un programmatore per imparare a programmare con Script.

60.1.1 Costanti del programma


Le costanti sono numeri, parole o date che non cambiano.
Per ulteriori informazioni, vedere la sezione 60.2 “Costanti del programma” a pagina 1653.

60.1.2 Operatori del programma


Un operatore è la parte di un'espressione che determina l'esecuzione di un'operazione
matematica, come l'addizione, o verifica una condizione, come l'uguaglianza.

Per ulteriori informazioni, vedere la sezione 60.13 “Operatori del programma” a pagina 1667.

60.1.3 Dichiarazioni del programma


Le istruzioni del programma vengono scritte con parole Script, note come parole chiave,
disposte in una struttura predefinita. Ogni parola chiave ha la propria sintassi delle parole
chiave. Secondo le regole di tale sintassi, alcuni parametri e valori possono o non possono
seguire una parola chiave.

Per ulteriori informazioni, vedere la sezione 60.32 “Dichiarazioni del programma” a pagina 1699.

60.1.4 Espressioni
Le istruzioni che consistono in operazioni matematiche sono chiamate espressioni. Le espressioni
possono anche essere nomi di elementi o costanti che restituiscono un risultato numerico o stringa.

Per ulteriori informazioni, vedere la sezione 60.66 “Espressioni” a pagina 1758.

60.1.5 Variabili
Una variabile è una proprietà di runtime (che cambia dinamicamente) di un oggetto.

04-20006-02-it, marzo 2019 Tecnico


1651
60 Programmazione di script
60.1 Componenti del programma di script

Per ulteriori informazioni, vedere la sezione 60.67 “Variabili” a pagina 1759.

Tecnico 04-20006-02-it, marzo 2019


1652
60 Programmazione di script
60.2 Costanti del programma

60.2 Costanti del programma


Le costanti sono numeri, parole o date che non cambiano.

60.2.1 Costanti numeriche


Una costante numerica è un numero. Nello script vengono utilizzati solo numeri in virgola mobile. Un
numero in virgola mobile è un numero con un decimale.

Per ulteriori informazioni, vedere la sezione 60.3 “Costanti numeriche” a pagina 1654.

60.2.2 Costanti di stringa


Una costante stringa è una serie di caratteri ASCII, compresi gli spazi, racchiusi
tra virgolette ("stringa").
Per ulteriori informazioni, vedere la sezione 60.4 “Costanti stringa” a pagina 1655.

60.2.3 Costanti dello script


Le costanti dello script, inclusi i nomi delle classi, sono elencate in ordine alfabetico nelle tabelle
seguenti. Non è possibile utilizzare costanti script come etichetta di riga o variabile di programma.

Per ulteriori informazioni, vedere la sezione 60.6 “Costanti di script” a pagina 1659.

60.2.4 Parole chiave costanti


Le parole chiave costanti dello script rappresentano numeri o valori utilizzati nelle
espressioni.

Per ulteriori informazioni, vedere la sezione 60.7 “Parole chiave costanti” a pagina 1661.

04-20006-02-it, marzo 2019 Tecnico


1653
60 Programmazione di script
60.3 Costanti numeriche

60.3 Costanti numeriche


Una costante numerica è un numero. Nello script vengono utilizzati solo numeri in virgola mobile. Un
numero in virgola mobile è un numero con un decimale.

È possibile immettere un numero a virgola mobile in uno dei seguenti modi:

• Numero fino a sette cifre decimali


• Numero in notazione scientifica

• Numeri positivi compresi tra 1.40129E-45 e 3.402823E+38


• Numeri negativi compresi tra -3.402823E+38 e -1.40129E-45
I numeri a virgola mobile possono essere visualizzati senza punto decimale, ma vengono
comunque gestiti dal sistema come numeri a virgola mobile. I numeri accettati si basano sul
formato a precisione singola IEEE 754 dell'Institute of Electrical and Electronics Engineers.

I seguenti numeri sono esempi di costanti numeriche:


• 12
• 74,5
• - . 543
• 4E+32
Non utilizzare una virgola nel numero. Ad esempio, 1.000 è una costante numerica non
valida.

Lo script interpreta solo i seguenti numeri:


• Maggiore di 3,402823E+38 come infinito.
• Meno di -.402823E+38 come infinito negativo.
Lo script accetta tutti i numeri, ma interpreta solo i seguenti numeri:
• I numeri maggiori di 3,402823E+38 vengono interpretati come infinito.

• Meno di -.402823E+38 come infinito negativo.


• Tra 1.40129E-45 e -.40129E-45 come zero.

Tecnico 04-20006-02-it, marzo 2019


1654
60 Programmazione di script
60.4 Costanti di stringa

60.4 Costanti di stringa


Una costante stringa è una serie di caratteri ASCII, compresi gli spazi, racchiusi
tra virgolette ("stringa").
Di seguito sono riportati esempi di alcune stringhe accettabili:

• "Ciao mondo"
• "L'accesso all'edificio è limitato"
• "123"

60.4.1 Regole per le costanti stringa


Anche se una stringa contiene un numero, il numero non può essere utilizzato
direttamente nei calcoli matematici.

In Script, la barra verticale, |, è il carattere di controllo in una stringa. Tutto ciò che inserisci dopo la
barra verticale viene interpretato come un codice o un formato per un valore variabile. Ad esempio,
per stampare una citazione racchiusa tra virgolette dovresti usare (“) dopo la barra verticale. Nel
comunicato che segue:

PRINT "La stringa |" abc|" è incluso" La stampante


emette:La stringa "abc" è inclusa.
Maggiori informazioni sulla barra verticale nelle stringhe sono incluse nella parola chiave
PRINT.

60.4.2 Codici ASCII


La maggior parte delle tastiere ha un set limitato di caratteri. Non sono presenti caratteri per controllare
azioni come l'alimentazione della carta, l'attivazione di un segnale acustico, lo scorrimento dello schermo e
così via. Per queste azioni, utilizzi una serie di codici denominata American Standard Code for Information
Interchange (ASCII).

Per ulteriori informazioni, vedere la sezione 60.5 “Codici ASCII” a pagina 1656.

04-20006-02-it, marzo 2019 Tecnico


1655
60 Programmazione di script
60.5 Codici ASCII

60,5 Codici ASCII


La maggior parte delle tastiere ha un set limitato di caratteri. Non sono presenti caratteri per controllare
azioni come l'alimentazione della carta, l'attivazione di un segnale acustico, lo scorrimento dello schermo e
così via. Per queste azioni, utilizzi una serie di codici denominata American Standard Code for Information
Interchange (ASCII).

Utilizzi questi codici in un'istruzione PRINT per controllare la stampante o lo schermo. Per
ulteriori informazioni, vedere la sezione 60.36 “STAMPA” a pagina 1704.

La tabella seguente elenca i codici ASCII. Gli esempi seguono la tabella.

Tabella: codice ASCII


Codice (in decimale) Personaggio o azione

0 NUL

1 SOH

2 STX

3 ETX

4 EOT

5 ENQ

6 RICONOSCI

7 Bip

8 Indietro

9 TAB in avanti

10 Avanzamento riga

11 TABELLA verticale

12 Avanzamento modulo

13 Ritorno in carrozza

14 COSÌ

15 SI

16 DLE

17 DC1

18 DC2

19 DC3

20 DC4

21 NAK

Tecnico 04-20006-02-it, marzo 2019


1656
60 Programmazione di script
60.5 Codici ASCII

Continua
Codice (in decimale) Personaggio o azione

22 SIN

23 ETB

24 POTERE

25 EM

26 SUB

27 ESC

28 FS

29 GS

30 RS

31 NOI

127 DEL

Nota
• Lo script supporta caratteri pari o inferiori a ASCII 127. I caratteri aggiuntivi non sono
supportati e vengono sostituiti da un punto interrogativo (?).

Esempi
Ad esempio, potresti utilizzare il codice ASCII per un carattere nella funzione
STRINGFILL. Devi fornire a STRINGFILL il codice del carattere con cui vuoi riempire la
stringa. Per ulteriori informazioni, vedere la sezione 60.152 “STRINGFILL” a pagina
1867.
Ad esempio, per far emettere un segnale acustico alla stampante, inviare al codice del segnale acustico
un'istruzione PRINT, come questa:

Stampa "|7" su Stampante1


È inoltre possibile emettere un segnale acustico dal terminale nel modo seguente:

Stampa "|7" su Schermo1


Per far avanzare la carta di un avanzamento pagina:

Stampa "|12" su Stampante1 Per


inviare un ESCAPE alla stampante:

Stampa "|27" su Stampante1


Per la tua stampante possono essere disponibili più istruzioni di controllo della stampante. Consulta
la documentazione del produttore.

Per creare una barra in un grafico, potresti riempire una stringa con asterischi utilizzando
STRINGFILL e il codice ASCII per l'asterisco, 42, come segue:

Stringfill (chilowatt, 42)


Potresti creare una barra simile in un grafico utilizzando i segni di cancelletto:

04-20006-02-it, marzo 2019 Tecnico


1657
60 Programmazione di script
60.5 Codici ASCII

Riempimento di corde (Pressione, 35)

Tecnico 04-20006-02-it, marzo 2019


1658
60 Programmazione di script
60.6 Costanti dello script

60.6 Costanti dello script


Le costanti dello script, inclusi i nomi delle classi, sono elencate in ordine alfabetico nelle tabelle
seguenti. Non è possibile utilizzare costanti script come etichetta di riga o variabile di programma.

Tabella: Costanti dello script AM

UN B C D E F J M

aprile Binario Car Giorni Abilitato Fallito Gen Mar

aprile Morso Carattere dicembre AbilitaDis Fallimento Gennaio Marzo


ImpostaNonSu capace

portato

Agosto Bitstring CharType Dicembre FineResto Falso Lug Minuti


R Rif

agosto Chiuso Eliminare Pari Colpa Luglio Mancante R


richiestoP
arametro

Media Costante Digitale Febbraio giugno Lun

Media CorrenteV Disabilitato Febbraio Giugno Lunedi


valore

Attivo Ven Mesi

Venerdì MeseA
Data

Funzione MeseA
Ora

Tabella: Costanti dello script NZ

N O P R S T

novembre Oggetto Stampa Correre Sab Gio

novembre ObjectClass Corsa Sabato Giovedì

Nessuna sessione VTS ObjectDeletio Settembre Oggi


s-Disponibile nNonPermesso
D

ID oggetto settembre VERO

Identificazione oggetto Singolare Mar


ehm-
Esiste già

ObjectRefere Sito_Config Martedì


nce

ottobre Sito_ConfigB

04-20006-02-it, marzo 2019 Tecnico


1659
60 Programmazione di script
60.6 Costanti dello script

Continua
N O P R S T

ottobre Successo

Strano Sole

Spento Domenica

disconnesso

SU

- SU

Una settimana a
Data

Una settimana a
Ora

Un anno al giorno
mangiò

Un anno al N
ahi

in linea

Ha aperto

Altro

Fuori range

Sostituito

Tecnico 04-20006-02-it, marzo 2019


1660
60 Programmazione di script
60.7 Parole chiave costanti

60.7 Parole chiave costanti


Le parole chiave costanti dello script rappresentano numeri o valori utilizzati nelle
espressioni.

Esistono cinque diverse parole chiave costanti dello script.

60.7.1 Fallimento

Failure viene utilizzato nelle espressioni per indicare che una funzione non è stata completata. Il fallimento è
sempre numerico e uguale a uno. Il fallimento può essere utilizzato per sostituire i numeri in un'espressione
di confronto.

Per ulteriori informazioni, vedere la sezione 60.8 “Guasto” a pagina 1662.

60.7.2 SPENTO

OFF viene utilizzato nelle espressioni per indicare che un elemento è OFF o impostato sul fondo scala.

OFF è sempre numerico e pertanto può essere confrontato con valori numerici di punti o
variabili in un'espressione di confronto.

Per ulteriori informazioni, vedere la sezione 60.9 “OFF” a pagina 1663.

60.7.3 SU
ON viene utilizzato nelle espressioni per indicare che un elemento è ON o è impostato il limite superiore della scala.

ON è sempre numerico e può essere confrontato con input, output e punti o variabili
numerici in un'espressione di confronto.
Per ulteriori informazioni, vedere la sezione 60.10 “ON” a pagina 1664..

60.7.4 - SU
-ON viene utilizzato nelle espressioni per indicare che un punto a tre stati è impostato su -ON.

- ON è sempre numerico e quindi può essere confrontato con valori numerici di punti o
variabili in un'espressione di confronto.

Per ulteriori informazioni, vedere la sezione 60.11 “-ON” a pagina 1665..

60.7.5 Successo
Success viene utilizzato nelle espressioni per indicare che un processo o una funzione è stata completata
correttamente.

Il successo è sempre numerico e uguale a zero.

Per ulteriori informazioni, vedere la sezione 60.12 “Operazioni riuscite” a pagina 1666..

04-20006-02-it, marzo 2019 Tecnico


1661
60 Programmazione di script
60.8 Fallimento

60.8 Fallimento

Failure viene utilizzato nelle espressioni per indicare che una funzione non è stata completata. Il fallimento è
sempre numerico e uguale a uno. Il fallimento può essere utilizzato per sostituire i numeri in un'espressione
di confronto.

Sintassi
Fallimento

Tecnico 04-20006-02-it, marzo 2019


1662
60 Programmazione di script
60.9 SPENTO

60.9 SPENTO

OFF viene utilizzato nelle espressioni per indicare che un elemento è OFF o impostato sul fondo scala.

OFF è sempre numerico e pertanto può essere confrontato con valori numerici di punti o
variabili in un'espressione di confronto.

Nota
Tenere presente che è necessario utilizzare le parole chiave ON/OFF nei programmi Script del
dispositivo Infinet per controllare le uscite digitali. Sebbene le opzioni Inattivo/Attivo e Vero/Falso
non generino errori di compilazione o di runtime, non produrranno nemmeno il comportamento
ON/OFF previsto.

Sintassi
Spento

Esempi
Esempio 1
File di programma

Spegni la Lobby_Light
Esempio 2
File di programma

Se Lobby_Light è spenta, spegni il riscaldamento

04-20006-02-it, marzo 2019 Tecnico


1663
60 Programmazione di script
60.10 ON

60.10 SU
ON viene utilizzato nelle espressioni per indicare che un elemento è ON o è impostato il limite superiore della scala.

ON è sempre numerico e può essere confrontato con input, output e punti o variabili
numerici in un'espressione di confronto.

Nota
Tenere presente che è necessario utilizzare le parole chiave ON/OFF nei programmi Script del
dispositivo Infinet per controllare le uscite digitali. Sebbene le opzioni Inattivo/Attivo e Vero/Falso
non generino errori di compilazione o di runtime, non produrranno nemmeno il comportamento
ON/OFF previsto.

Sintassi
SU

Esempio
File di programma script: utilizzo di ON e OFF Se l'ora

del giorno è compresa tra le 9 e le 17, impostare la

ventola su ON

Altro
Impostare la ventola su

OFF Endif

Tecnico 04-20006-02-it, marzo 2019


1664
60 Programmazione di script
60.11 -ON

60.11 - SU
-ON viene utilizzato nelle espressioni per indicare che un punto a tre stati è impostato su -ON.

- ON è sempre numerico e quindi può essere confrontato con valori numerici di punti o
variabili in un'espressione di confronto.

Sintassi
- SU

Esempio
File di programma

Se il flusso è maggiore del SetPoint, impostare lo smorzatore su -On

04-20006-02-it, marzo 2019 Tecnico


1665
60 Programmazione di script
60.12 Successo

60.12 Successo
Success viene utilizzato nelle espressioni per indicare che un processo o una funzione è stata completata
correttamente.

Il successo è sempre numerico e uguale a zero.

Sintassi
Successo

Esempi
Chiama una funzione Script definita dall'utente, che restituisce Success o Failure.

Se MyUpdateFunction (“Zone1”, “Temperature”, TempValue) = Successo,


stampa "Aggiornamento riuscito"
Altro
utente1Goto RecordFailure
Endif

Tecnico 04-20006-02-it, marzo 2019


1666
60 Programmazione di script
60.13 Operatori del programma

60.13 Operatori del programma


Un operatore è la parte di un'espressione che determina l'esecuzione di un'operazione
matematica, come l'addizione, o verifica una condizione, come l'uguaglianza.

60.13.1 Precedenza dell'operatore


In Script, gli operatori vengono utilizzati in una determinata sequenza quando in
un'espressione è presente più di un operatore. Questo è noto come precedenza degli
operatori. La tabella seguente elenca l'ordine (dall'alto al basso) utilizzato durante
l'elaborazione di un'espressione.

Tabella: Precedenza degli operatori

Operatore Descrizione Associazione

() Parentesi Da sinistra a destra

[] Elemento dell'array da sinistra a destra

Vuoto o \ Connettore nome percorso Da destra a sinistra

+ Segno più sul numero Da destra a sinistra

- Segno meno sul numero

NON Negazione logica

BITNOT Negazione bit a bit

% Percentuale

^ Esponenziazione Da sinistra a destra

* Moltiplicazione Da sinistra a destra

/ Divisione

MOD Modulo

+ Aggiunta Da sinistra a destra

- Sottrazione

< Meno di Da sinistra a destra

<= Minore o uguale


> maggiore di
>= Maggiore o uguale

= Pari Da sinistra a destra

<> Non uguale

È DENTRO Imposta l'inclusione

NON C'È Imposta l'esclusione

È TRA Allineare

È FINITO Allineare

04-20006-02-it, marzo 2019 Tecnico


1667
60 Programmazione di script
60.13 Operatori del programma

Continua
Operatore Descrizione Associazione

BITAND Bitwise logico e Da sinistra a destra

BITORE O logico bit a bit


BITXOR Or. esclusivo bit per bit

& Logico E Da sinistra a destra

! logico o

; Operatore di adesione Da sinistra a destra

60.13.2 Operatori di segno più, segno meno, negazione,


BITNOT e percentuale
La tabella seguente identifica e definisce gli operatori segno più, segno meno,
negazione, BITNOT e percentuale.

Tabella: segno più, segno meno, negazione, BITNOT e percentuale


Operatore Definizione

+ numero Mostra che un numero è positivo, ma non


influisce sul valore.

- numero Rende negativo un numero positivo e positivo


un numero negativo. Questo operatore
funziona solo su espressioni numeriche.

NON numero Nega il numero o l'espressione. Se il


valore dell'espressione è diverso da
zero, NOT modifica l'espressione in 0.
Se l'espressione è VERA, NOT la rende
FALSA.

BITNOT intero Cambia gli 1 in 0 e gli 0 in 1


nell'equivalente binario dell'intero,
quindi fornisce l'equivalente intero
decimale di quel numero binario.

numero % Divide il numero per 100 per determinare la


percentuale.

60.13.3 Operatori fondamentali


La tabella seguente individua e definisce gli operatori fondamentali.

Tecnico 04-20006-02-it, marzo 2019


1668
60 Programmazione di script
60.13 Operatori del programma

Tabella: Operatori Fondamentali


Operatore Esempio Definizione

Aggiunta numero + numero Aggiunge i numeri. Funziona


su numeri o datetime e
l'espressione risultante è
numerica o datetime.
Alias: PIÙ

Sottrazione numero - numero Funziona su numeri o


datetime e l'espressione
risultante è numerica o
datetime.
Alias: MENO

Moltiplicazione numero * numero Moltiplica i numeri.


Funziona sui numeri e
l'espressione risultante è
numerica.

Alias: TIMES, MULT e


MOLTIPLICATO PER

Divisione numero/numero Divide il primo numero per


il secondo. Funziona sui
numeri e l'espressione
risultante è numerica.
Alias: DIVISO PER

Modulo numero numero MOD Trova l'importo rimasto


quando si divide il primo
numero per il secondo. Ad
esempio, 9 MOD 7 dà 2.
Alias: RESTO

Esponenziazione numero ^ numero Eleva il primo numero alla


potenza del secondo
numero. Ad esempio, 2 ^ 3 =
8
Alias: ESP

60.13.4 Operatori comparativi


Un operatore comparativo confronta il numero a sinistra della parola chiave con il
numero alla sua destra. I risultati sono VERO (1 numerico) o FALSO (0 numerico) e sono
considerati numerici.

04-20006-02-it, marzo 2019 Tecnico


1669
60 Programmazione di script
60.13 Operatori del programma

Tabella: operatori comparativi


Operatore Esempio Definizione

Meno di numero < numero Determina se il


il valore del numero di
sinistra è inferiore al valore
del numero di destra.

Alias: IS LESS THAN


(THAN è facoltativo) ed IS
BELOW

Minore o uguale numero <= numero Determina se il


il valore del numero di
sinistra è inferiore o uguale al
valore del numero di destra.

Alias: È INFERIORE O
UGUALE A dove THAN e TO
sono facoltativi

Più grande di numero > numero Determina se il


il valore del numero di sinistra è
maggiore del valore del numero
di destra.

Alias: È MAGGIORE DI
(THAN è facoltativo) e È
SOPRA

Maggiore o uguale numero >= numero Determina se il


il valore del numero di sinistra è
maggiore o uguale al valore del
numero di destra.

Alias: IS MREATER THAN OR


EQUAL TO, dove THAN e TO
sono facoltativi

Pari numero = numero Determina se il


il valore del numero di sinistra è
uguale al valore del numero di
destra.

Alias: EQUALS, IS EQUAL TO


e IS EQUAL

Non uguale numero <> numero Determina se il


il valore del numero di sinistra
non è uguale al valore del numero
di destra.

Alias: NON È UGUALE, NON


È UGUALE A e NON È
UGUALE

Tecnico 04-20006-02-it, marzo 2019


1670
60 Programmazione di script
60.13 Operatori del programma

Confronto dei valori delle stringhe

È inoltre possibile utilizzare gli operatori Maggiore di, Minore di o Uguale a per confrontare
due valori stringa. Le stringhe vengono valutate tramite codice ASCII, utilizzando i relativi
valori numerici ASCII. Ad esempio, "Z" che ha un valore ASCII pari a 90 è maggiore di "A" che
ha un valore ASCII pari a 65. Allo stesso modo, "9" è maggiore di "0" e "A" è maggiore di "9".
Inoltre "ABC", che equivale alla somma dei valori ASCII di ogni singolo carattere, è maggiore
di "A". Per ulteriori informazioni, vedere la sezione 60.5 “Codici ASCII” a pagina 1656..

60.13.5 Operatori di elenco e intervallo


La tabella seguente identifica e definisce gli operatori di elenco e di intervallo.

Tabella: operatori di elenco e intervallo

Operatore Esempio Definizione

È DENTRO il numero È NELLA lista Determina se il numero o


l'espressione a sinistra è nel
Or
set elencato. Se il numero sul
il numero è l'elenco lato sinistro dell'espressione è
nell'espressione dell'elenco
sul lato destro, l'espressione
restituisce TRUE (numero 1).
Se l'espressione non è
nell'elenco a destra, il file

l'espressione restituisce FALSE


(0 numerico).

Alias: È SIA

NON C'È il numero NON è NELLA lista Determina se il numero o


l'espressione a sinistra NON è
nel set elencato. Se il numero
sul lato sinistro
dell'espressione NON è
nell'espressione dell'elenco
sul lato destro, l'espressione
restituisce VERO (numero 1).
Se l'espressione è nell'elenco
a destra, il file
l'espressione restituisce FALSE
(0 numerico).

Alias: NON È NÉ

04-20006-02-it, marzo 2019 Tecnico


1671
60 Programmazione di script
60.13 Operatori del programma

Continua
Operatore Esempio Definizione

È FINITO numero IS numero THRU Designa un intervallo che


numero inizia con il numero o
espressione sul lato
sinistro di THRU e che
termina con il numero o
espressione sul lato destro.
Se il numero a
L'inizio dell'espressione rientra
nell'intervallo compreso,
l'espressione restituisce TRUE
(numero 1). Se l'espressione non
è compresa nell'intervallo
inclusivo, l'espressione restituisce
FALSO (0 numerico).

Questa affermazione è
operativamente equivalente a IS
BETWEEN.

È TRA il numero È TRA Designa un intervallo che


numero E numero inizia con il numero o
espressione sul lato sinistro
di AND e termina con il
numero o l'espressione sul
lato destro. Se il numero
all'inizio dell'espressione
rientra nell'intervallo
compreso, il
l'espressione restituisce TRUE
(numero 1). Se l'espressione non è
compresa nell'intervallo inclusivo,
l'espressione restituisce FALSO (0
numerico).

Questa affermazione è
operativamente equivalente a IS
THRU.

60.13.6 Operatori di bit


La tabella seguente identifica e definisce gli operatori bit.

Tecnico 04-20006-02-it, marzo 2019


1672
60 Programmazione di script
60.13 Operatori del programma

Tabella: operatori bit


Operatore Esempio Definizione

BITAND intero BITAND intero Confronta il binario


equivalenti dei due numeri
interi, cifra per cifra, come se gli
1 fossero VERI e gli 0 fossero
FALSI.

Se entrambi i numeri binari


contengono un 1 nella stessa
posizione, è VERO E VERO, che è
VERO. Se entrambi i numeri
contengono uno 0 nella stessa
posizione, è FALSO e FALSO, che
è FALSO. Se un numero
contiene un 1 e l'altro uno 0
nello stesso posto, è VERO E
FALSO, che è anche FALSO.

Fare riferimento alle Tabelle della Verità


che seguono per ulteriori spiegazioni.

BITORE intero BITOR intero Confronta il binario


equivalenti dei due numeri
interi, cifra per cifra, come se gli
1 fossero VERI e gli 0 FALSI.

Se entrambi i numeri binari


contengono un 1 nella stessa
posizione, ciò è VERO O VERO,
che è VERO. Se entrambi i
numeri contengono uno 0 nella
stessa posizione, è FALSO O
FALSO, che è FALSO. Se un
numero contiene un 1 e l'altro
uno 0 nella stessa posizione, è
VERO OR
FALSO, che è VERO.
Fare riferimento alle Tabelle della Verità
che seguono per ulteriori spiegazioni.

04-20006-02-it, marzo 2019 Tecnico


1673
60 Programmazione di script
60.13 Operatori del programma

Continua
Operatore Esempio Definizione

BITXOR intero BITXOR intero Confronta il binario


equivalenti dei due numeri
interi, cifra per cifra, come se
gli 1 fossero VERI e gli 0 FALSI.
BITXOR trova i casi in cui una
cifra o l'altra è VERA, ma non i
casi
dove entrambe le cifre sono VERE.

Se entrambi i numeri binari


contengono un 1 nella stessa
posizione, ciò è VERO XOR VERO,
che è FALSO perché solo l'uno o
l'altro può essere VERO, non
entrambi. Se entrambi i numeri
contengono uno 0 nella stessa
posizione, ciò è FALSO XOR FALSO,
che è FALSO. Se un numero

contiene un 1 e l'altro uno 0


nella stessa posizione, cioè
VERO XOR FALSO, che è VERO.

Fare riferimento alle Tabelle della Verità


che seguono per ulteriori spiegazioni.

Tabelle della verità

La tabella seguente è la tabella di verità per gli operatori di bit:

Tabella: tabella della verità

Operatore Intero1 Intero2 Risultato

BITAND VERO VERO VERO


BITAND VERO FALSO FALSO
BITAND FALSO FALSO FALSO
BITAND FALSO VERO FALSO

BITORE VERO VERO VERO


BITORE VERO FALSO VERO
BITORE FALSO FALSO FALSO
BITORE FALSO VERO VERO

BITXOR VERO VERO FALSO


BITXOR VERO FALSO VERO
BITXOR FALSO FALSO FALSO
BITXOR FALSO VERO VERO

Tecnico 04-20006-02-it, marzo 2019


1674
60 Programmazione di script
60.13 Operatori del programma

60.13.7 Operatori AND/OR e unione di stringhe


La tabella seguente identifica e definisce gli operatori AND, OR e di unione delle
stringhe.
Operatore Esempio Definizione

E numero e numero Confronta due espressioni, che


devono essere numeriche o
convertite in numerico, in un
confronto. L'istruzione restituisce
TRUE (numero 1) se entrambe le
espressioni lo sono
diverso da zero.

Alias: E

O numero ! numero Determina se a


il confronto è vero effettuando il
confronto con ciascuna
espressione (che deve essere
numerica o convertita in
numerico) separatamente,
escludendo gli altri.
L'istruzione restituisce FALSE
(numero 0) se entrambi
le espressioni sono false, TRUE
(numero 1) se almeno una è
vera.

Alias: OR

Unione di stringhe corda ; corda Unisce due corde aggiungendo la


seconda all'estremità della prima per
formare una nuova corda. Entrambe
le espressioni devono essere string o
essere convertite nel tipo string (che
include i tipi numerici e datetime).

Noto anche come operatore


di concatenazione.

60.13.8 Parole chiave dell'operatore


Gli operatori eseguono un processo matematico, ad esempio un'addizione, una sottrazione o un
confronto logico VERO/FALSO.

Per ulteriori informazioni, vedere la sezione 60.14 “Parole chiave dell'operatore” a pagina 1676.

04-20006-02-it, marzo 2019 Tecnico


1675
60 Programmazione di script
60.14 Parole chiave operatore

60.14 Parole chiave dell'operatore


Gli operatori eseguono un processo matematico, ad esempio un'addizione, una sottrazione o un
confronto logico VERO/FALSO.

Lo script utilizza tre diversi tipi di parole chiave dell'operatore: operatori bit per
bit, logici e matematici.

60.14.1 Operatori bit a bit


Gli operatori bit a bit eseguono operazioni logiche sugli equivalenti binari degli interi. Gli

operatori bit a bit includono le seguenti parole chiave:

• BITAND
• BITNOT
• BITORE
• BITXOR
Per ulteriori informazioni, vedere la sezione 60.15 “Operatori bit a bit” a pagina 1677...

60.14.2 Operatori logici


Gli operatori logici eseguono confronti VERO/FALSO. Gli
operatori logici includono le seguenti parole chiave:
•E
• EQUIVALE
• È...
• NON
•O
Per ulteriori informazioni, vedere la sezione 60.20 “Operatori logici” a pagina 1682...

60.14.3 Operatori matematici


Gli operatori matematici eseguono operazioni matematiche, come addizione o
sottrazione.
Gli operatori matematici includono le seguenti parole chiave:

• DIVISO PER
• MENO
•MOD
• INOLTRE

• TEMPI
Per ulteriori informazioni, vedere la sezione 60.26 “Operatori matematici” a pagina 1693...

Tecnico 04-20006-02-it, marzo 2019


1676
60 Programmazione di script
60.15 Operatori bit a bit

60.15 Operatori bit a bit


Gli operatori bit a bit eseguono operazioni logiche sugli equivalenti binari degli interi.

Nota
Gli operatori Bitwise non sono validi per i programmi Script del dispositivo Infinet.

60.15.1 BITAND
BITAND confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra, dove il
bit del primo numero e il bit del secondo numero sono entrambi 1 e imposta tutte le altre cifre su
zero. Il nuovo numero binario viene quindi convertito nel suo equivalente decimale.

Per ulteriori informazioni, vedere la sezione 60.16 “BITAND” a pagina 1678..

60.15.2 BITNOT
BITNOT commuta gli 1 in 0 e gli 0 in 1 nell'equivalente binario dell'intero, cifra per cifra.
(Questo è chiamato complemento a uno del numero binario.) Questo operatore crea un
nuovo numero binario e quindi riconverte quel numero nel suo equivalente decimale.

Per ulteriori informazioni, vedere la sezione 60.17 “BITNOT” a pagina 1679..

60.15.3 BITORE
BITOR confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra in cui il
bit del primo numero o il bit del secondo numero è 1 e dove sia il bit del primo che quello del
secondo numero sono 1. Inoltre, l'operatore imposta tutte le altre cifre su zero. BITOR converte il
nuovo numero binario nel suo equivalente decimale.

Per ulteriori informazioni, vedere la sezione 60.18 “BITOR” a pagina 1680..

60.15.4 BITXOR
BITXOR confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra, dove il
bit del primo numero o il bit del secondo numero è 1, ma restituisce zeri dove entrambi sono 1 o
entrambi sono 0. BITXOR converte il nuovo numero binario nel suo equivalente decimale.

Per ulteriori informazioni, vedere la sezione 60.19 “BITXOR” a pagina 1681..

04-20006-02-it, marzo 2019 Tecnico


1677
60 Programmazione di script
60.16 BITAND

60.16 BITAND
BITAND confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra, dove il
bit del primo numero e il bit del secondo numero sono entrambi 1 e imposta tutte le altre cifre su
zero. Il nuovo numero binario viene quindi convertito nel suo equivalente decimale.

BITAND effettua confronti di checksum e operazioni simili.

Sintassi
numero interobitandnumero intero

Tabella: Parametro BITAND


Parametro Descrizione

numero intero Qualsiasi numero compreso tra 0 e 65535.

Se fornisci un numero con la virgola decimale,


BITAND utilizza solo l'intero e rilascia tutto a
destra della virgola decimale.

Esempio
Supponiamo di voler confrontare Total1 e Total2: Total1 =
13 (l'equivalente binario è 0000000000001101) Total2 =
11 (l'equivalente binario è 0000000000001011) Li
confronteresti con BITAND come segue: File di
programma

Imposta risultato = Total1 bit e Total2


Il confronto darebbe 0000000000001001. RISULTATO verrebbe impostato su 9.

Tecnico 04-20006-02-it, marzo 2019


1678
60 Programmazione di script
60.17 BITNOT

60.17 BITNOT
BITNOT commuta gli 1 in 0 e gli 0 in 1 nell'equivalente binario dell'intero, cifra per cifra.
(Questo è chiamato complemento a uno del numero binario.) Questo operatore crea un
nuovo numero binario e quindi riconverte quel numero nel suo equivalente decimale.

BITNOT esegue bitmasking e operazioni simili.

Sintassi
bitnotnumero intero

Tabella: Parametro BITNOT


Parametro Descrizione

numero intero Qualsiasi numero compreso tra 0 e 65535.

Se fornisci un numero con un punto decimale,


BITNOT utilizza solo il numero intero e rilascia
tutto a destra del punto decimale.

Esempio
Supponiamo di voler trovare il complemento a uno di IMPORTO:
Importo = 13 (l'equivalente binario è 0000000000001101)
È possibile invertire il numero con BITNOT come segue: File di

programma

Imposta risultato = bitnon IMPORTO


Il BITNOT dell'importo sarebbe 1111111111110010. L'istruzione imposterebbe
RESULT su 65522.

04-20006-02-it, marzo 2019 Tecnico


1679
60 Programmazione di script
60.18 BITOR

60.18 BITORE
BITOR confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra in cui il
bit del primo numero o il bit del secondo numero è 1 e dove sia il bit del primo che quello del
secondo numero sono 1. Inoltre, l'operatore imposta tutte le altre cifre su zero. BITOR converte il
nuovo numero binario nel suo equivalente decimale.

BITOR effettua confronti di checksum e operazioni simili.

Sintassi
numero interobitornumero intero

Tabella: Parametro BITOR


Parametro Descrizione

numero intero Qualsiasi numero compreso tra 0 e 65535.

Se fornisci un numero con un punto decimale,


BITOR utilizza solo il numero intero e rilascia
tutto a destra del punto decimale.

Esempio
Supponiamo di voler confrontare Total1 e Total2: Total1 =
13 (l'equivalente binario è 0000000000001101) Total2 =
11 (l'equivalente binario è 0000000000001011) Li
confronteresti con BITOR come segue: File di programma

Imposta risultato = Total1 bit o Total2


Il confronto darebbe 0000000000001111. RISULTATO verrebbe impostato su 15.

Tecnico 04-20006-02-it, marzo 2019


1680
60 Programmazione di script
60.19 BITXOR

60.19 BITXOR
BITXOR confronta logicamente gli equivalenti binari dei due numeri interi, cifra per cifra. Questo
operatore crea un nuovo numero binario che contiene un 1 per ciascuna posizione della cifra, dove il
bit del primo numero o il bit del secondo numero è 1, ma restituisce zeri dove entrambi sono 1 o
entrambi sono 0. BITXOR converte il nuovo numero binario nel suo equivalente decimale.

BITXOR effettua confronti di checksum e operazioni simili.

Sintassi
numero interobitxornumero intero

Tabella: parametro BITXOR


Parametro Descrizione

numero intero Qualsiasi numero compreso tra 0 e 65535.

Se fornisci un numero con un punto decimale,


BITXOR utilizza solo il numero intero e rilascia
tutto a destra del punto decimale.

Esempio
Supponiamo di voler confrontare Total1 e Total2: Total1 = 13

(l'equivalente binario è 0000000000001101) Total2 = 11

(l'equivalente binario è 0000000000001011) File di

programma

Imposta risultato = Total1 bitxo Total2


Il confronto darebbe 0000000000000110. RISULTATO sarebbe impostato su 6.

04-20006-02-it, marzo 2019 Tecnico


1681
60 Programmazione di script
60.20 Operatori logici

60.20 Operatori logici


Gli operatori logici eseguono confronti VERO/FALSO.

60.20.1 E
La parola chiave AND può essere utilizzata in due modi.

Per ulteriori informazioni, vedere la sezione 60.21 “AND” a pagina 1683..

60.20.2 EQUIVALE
EQUALS è simile all'operatore IS....
Per ulteriori informazioni, vedere la sezione 60.22 “UGUALE” a pagina 1686.

60.20.3 È...
IS... esegue il test logico specificato.
Per ulteriori informazioni, vedere la sezione 60.23 “IS...” a pagina 1687.

60.20.4 NON
NOT nega o inverte logicamente un numero o un'espressione, cambiando 0 (FALSE
in OFF) in 1 (TRUE o ON) o viceversa.
Per ulteriori informazioni, vedere la sezione 60.24 “NOT” a pagina 1690..

60.20.5 O
La parola chiave OR può essere utilizzata per fornire l'OR logico tra due espressioni o
posizionata in un elenco di nomi tra gli ultimi due elementi.
Per ulteriori informazioni, vedere la sezione 60.25 “OR” a pagina 1691..

Tecnico 04-20006-02-it, marzo 2019


1682
60 Programmazione di script
60.21 E

60.21 E
Alias: la e commerciale (&) è l'alias solo per l'AND logico. La

parola chiave AND può essere utilizzata in due modi.

Vedi Sintassi per maggiori dettagli.

Il controllore esegue tutte le altre operazioni (come addizione e sottrazione) prima di


agire su AND o OR. Poiché AND e OR vengono utilizzati per ultimi, è possibile formare
istruzioni logiche senza utilizzare troppe parentesi. (Vedi Esempio 3 per utilizzare AND e
OR insieme.)

Sintassi
Sintassi 1: numeroEnumero
Fornisce l'AND logico tra due espressioni. Sintassi
2: elenco nomiEnome_finale
Se utilizzato in un elenco di nomi tra gli ultimi due elementi, indica la fine della
serie.

Tabella: parametri AND


Parametro Descrizione

numero Qualsiasi numero o espressione.

Lista di nomi Uno o più nomi separati da virgole.

nome_finale Un solo nome alla fine di una serie di


nomi.
AND prima del cognome è facoltativo.

Esempi
Esempio 1
Invece di formare istruzioni IF..THEN per accendere il fuoco quando
esistono più condizioni, puoi fare un'istruzione usando AND:
File di programma

Se la temperatura è < 70 e TOD > 7:00, accendere il riscaldamento O

Se la temperatura < 70 e TOD > 7:00, accendere il riscaldamento


Esempio 2

Per eseguire una serie di programmi, invece di utilizzare RUN più volte, è possibile elencare i nomi dei
programmi sulla stessa riga, utilizzando AND (virgola finale opzionale) per indicare l'ultimo elemento
dell'elenco:

File di programma

Eseguire il raffreddamento, il riscaldamento e la ventola

oppure utilizzando la virgola finale:

Esegui il raffreddamento, il riscaldamento e la ventola

04-20006-02-it, marzo 2019 Tecnico


1683
60 Programmazione di script
60.21 E

Non è possibile utilizzare la e commerciale (&) per AND in una serie. Puoi, tuttavia, tralasciare AND
come segue:

Eseguire il raffreddamento, il riscaldamento e la ventola

Esempio 3

Se OR si trova prima di AND, il controller interpreta prima OR perché il controller lavora da


sinistra a destra su AND e OR. Prendiamo ad esempio questa affermazione:

File di programma

Se Wkd = Sab o Wkd = Sun e TOD > 9:00 allora...


L'affermazione di cui sopra viene interpretata in modo tale che gli elementi tra parentesi seguenti vengano
calcolati per primi:

Se (Wkd = Sab o Wkd = Sun) e TOD > 9:00 allora... Se AND si


verifica prima di OR, il controller interpreta prima AND: File di
programma

Se TOD > 9:00 e Wkd = Sab o Wkd = Sun allora... viene


interpretato come:
Se (TOD > 9:00 e Wkd = Sab) o Wkd = Sun allora... Esempio
4
AND viene utilizzato anche con l'operatore BETWEEN, come nell'esempio seguente:

Program File

Se il TOD è compreso tra le 8:00 e le 18:00, allora...


Non è possibile utilizzare la e commerciale (&) per AND quando AND viene utilizzato con BETWEEN.

Nota
• Utilizzare le parentesi per imporre l'ordine delle interpretazioni e risolvere potenziali
ambiguità.

Esempio 5
Per impostare una o più variabili su un'espressione, ad esempio ON, è possibile utilizzare uno dei
seguenti:

File di programma

D1, D2 = Acceso

D1 e D2 = Accesi
Impostare D1,D2 su On

Impostare D1 e D2 su On D1,
D2, D3, D4 = On D1, D2, D3 e
D4 = On Impostare D1, D2, D3,
D4 su On
Impostare D1, D2, D3 e D4 su On
In questo esempio, la riga seguente viene utilizzata per impostare la variabile D1 su On e D2
su On (in altre parole, include due istruzioni set sulla stessa riga).

D1 = Acceso E D2 = Acceso

Tecnico 04-20006-02-it, marzo 2019


1684
60 Programmazione di script
60.21 E

Tuttavia, la riga non viene interpretata come tale. Si interpreta invece nel modo
seguente:

D1 = ((Acceso) e (D2 = Acceso))


Ciò si traduce in un'istruzione che imposta D1 sull'espressione logica sul lato destro
del primo operatore uguale e non imposta D2 tutti insieme.
Tieni presente quanto segue qui:

• Un operatore logico, come AND, funziona solo nelle espressioni e non nelle
istruzioni.

• Nell'interpretazione delle espressioni valgono sempre le regole linguistiche di precedenza. In


questo caso, l'operatore Uguale (=) ha una precedenza maggiore rispetto all'operatore AND.

Nota
• Ricordatevi sempre di utilizzare le parentesi per imporre l'ordine delle interpretazioni e
risolvere potenziali ambiguità. Per ulteriori informazioni, vedere la sezione 60.13
“Operatori del programma” a pagina 1667.

04-20006-02-it, marzo 2019 Tecnico


1685
60 Programmazione di script
60.22 PARI

60.22 EQUIVALE
EQUALS è simile all'operatore IS....
Per ulteriori informazioni, vedere la sezione 60.23 “IS...” a pagina 1687..

Tecnico 04-20006-02-it, marzo 2019


1686
60 Programmazione di script
60.23 È...

60.23 È...
IS... esegue il test logico specificato.

Sintassi
Espressione maggiore di:
numero > numero
numero è maggiore di numero numero
è sopra numero Maggiore di o uguale a
espressione: numero >= numero

numero è maggiore o uguale a numero


Espressione minore di:
numero < numero
numero è inferiore a numero
numero è inferiore a numero Minore
o uguale a espressione: numero <=
numero
numero è minore o uguale a numero
Espressione uguale:
numero = numero
il numero è numero

numero è uguale a numero

numero è uguale a numero

Espressione non uguale:

numero <> numero


numero non è numero numero non è

uguale a numero numero non è

uguale a numero espressione-

inclusione-elenco: il numero è in

elenco

il numero è l'intervallo (vedere l'espressione di intervallo di

seguito) il numero è SIA l'elenco

Espressione-esclusione-elenco: il

numero non è nell'elenco

il numero non è un intervallo (vedere l'elemento intervallo di seguito) il

numero non è né l'elenco

Espressione di intervallo:

il numero è compreso tra numero_inferiore e numero_superiore

04-20006-02-it, marzo 2019 Tecnico


1687
60 Programmazione di script
60.23 È...

il numero non è compreso tra numero_inferiore E numero_superiore

numero è numero_inferiore THRU numero_superiore numero non è

numero_inferiore THRU numero_superiore

Tabella: IS...Parametri
Parametro Descrizione

numero Qualsiasi numero o espressione, inclusa una data e


un'ora o un nome che ne rappresenta uno.

elenco Due o più numeri (come definiti sopra)


separati da virgole.

allineare Due numeri (come definiti sopra), ciascuno dei


quali indica un'estremità di un intervallo con
THRU tra di loro, o due numeri preceduti da
BETWEEN con AND tra di loro.

Esempi
Esempio 1
Per confrontare due valori, di solito si inserisce un'istruzione IS... tra IF e THEN in
un'istruzione IF..THEN.

Nota
• Poiché THAN è facoltativo, nelle seguenti coppie di istruzioni ciascuna
istruzione fornisce le stesse istruzioni al controllore.

File di programma

Se Zone_Temp è maggiore di 70 allora... Se


Zone_Temp è maggiore di 70 allora...
Se Zone_Temp è superiore a 70, allora... Se
Zone_Temp è inferiore a 70, allora... Se
Zone_Temp è inferiore a 70, allora...
Se Zone_Temp è inferiore a 70, allora...
Esempio 2
Le seguenti istruzioni sono raggruppate insieme e forniscono le stesse istruzioni al
controllore, perché TO è facoltativo e EQUALS può essere utilizzato senza IS:
File di programma

Se Zone_Temp è uguale a 70 allora... Se


Zone_Temp è uguale a 70 allora... Se
Zone_Temp è uguale a 70 allora...
Se Zone_Temp non è uguale a 70 allora...
SE Zone_Temp non è uguale a 70 allora...
Esempio 3

Tecnico 04-20006-02-it, marzo 2019


1688
60 Programmazione di script
60.23 È...

Con IS IN, IS EITHER, IS NOT IN o IS NEITHER, la virgola nell'elenco significa OR. Puoi anche
utilizzare la parola OR prima dell'ultimo elemento dell'elenco, ad esempio:

File di programma

Se Zone_Temp è in Occupato, Riscaldamento allora...


Se Zone_Temp è Occupato, Riscaldamento o Reset, allora... Se
Zone_Temp non è in Occupato, Riscaldamento, allora...
Se Zone_Temp non è occupato, Warmup allora...
Se Zone_Temp non è compreso tra 8 e 81, allora...
Esempio 4
Con IS BETWEEN e IS NOT BETWEEN si utilizza sempre AND. IS BETWEEN con AND
equivale a IS con THRU. Le seguenti dichiarazioni sono equivalenti:
File di programma

Se Zone_Temp è compreso tra 70 e 80, allora...


Se Zone_Temp è compreso tra 70 e 80, allora...

Con THRU o BETWEEN non mettere tra parentesi i due elementi da


confrontare. Non sono ammesse le seguenti parentesi:
Se Zone_Temp è (da 70 a 80), allora...
Se Zone_Temp è compreso tra (70 e 80), allora... File di
programma

Se Zone_Temp non è compreso tra 70 e 80, allora... Se


Zone_Temp non è compreso tra 70 e 80, allora...
Se Zone_Temp non è da (ROOMTMP-5) a (ROOMTMP+5) Se
Zone_Temp non è da ROOMTMP-5 a ROOMTMP+5
Con THRU o BETWEEN inserire sempre per primo il numero più basso. Non sono
ammessi i seguenti esempi:

Se Zone_Temp è compreso tra 80 e 70, allora... Se

Zone_Temp è compreso tra 80 e 70, allora...

Nota
• Sia THRU che BETWEEN sono sempre inclusivi, quindi quanto segue è entrambi
TRUE se ZONE_TEMP è uguale a 70 o 80.

Se Zone_Temp è compreso tra 70 e 80, allora... Se

Zone_Temp è compreso tra 70 e 80, allora...

04-20006-02-it, marzo 2019 Tecnico


1689
60 Programmazione di script
60.24 NON

60.24 NON
NOT nega o inverte logicamente un numero o un'espressione, cambiando 0 (FALSE
in OFF) in 1 (TRUE o ON) o viceversa.

Sintassi
non numero

Tabella: NON Parametro


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempio
File di programma

Se non OCCUPATO allora...


In questo esempio, supponiamo che OCCUPIED possa essere ON o OFF. Quando OCCUPIED è ON,
ponendo NOT in primo piano si verifica la condizione opposta, OFF.

Tecnico 04-20006-02-it, marzo 2019


1690
60 Programmazione di script
60,25 OR

60.25 O
La parola chiave OR può essere utilizzata per fornire l'OR logico tra due espressioni o
posizionata in un elenco di nomi tra gli ultimi due elementi.
In questo secondo esempio, OR indica la fine della serie. OR con il cognome è
facoltativo. Il sistema esegue tutte le altre operazioni (come addizione e sottrazione)
prima di agire su OR (o AND).
Operatori per precedenza confronta l'ordine delle operazioni su cui agisce il software
di sistema. Poiché OR (e AND) vengono utilizzati per ultimi, è possibile formare
istruzioni logiche senza utilizzare troppe parentesi. Vedi l'Esempio 4 per come usare
AND e OR insieme.

Sintassi
numeroOnumero
Lista di nomiOnome_finale

Tabella: parametri OR
Parametro Descrizione

numero Qualsiasi numero, nome che rappresenta un numero,


formula o funzione che fornisce un numero.

Lista di nomi Uno o più nomi separati da virgole.

nome_finale Un solo nome alla fine di una serie di


nomi.

Esempi
Esempio 1
Per eseguire un'azione solo se esiste almeno una delle diverse condizioni, si usa
OR tra i numeri, quindi se uno di essi è vero, si verifica l'azione risultante:
File di programma

Se il riscaldamento è attivo o il raffreddamento è attivo, allora...

Tieni presente che nell'istruzione precedente puoi sostituire il punto esclamativo (!) con OR.

Esempio 2

Per inserire un elenco in un'istruzione IF, puoi utilizzare un OR tra gli ultimi due nomi
nell'elenco:

File di programma

Non è possibile utilizzare il punto esclamativo (!) per OR in una serie. Puoi, tuttavia, tralasciare
OR come segue:

Se la zona è in riscaldamento, occupata, bassa temperatura, allora...


Esempio 3

È inoltre possibile combinare l'OR logico con un elenco di nomi contenente un OR (con o
senza la virgola prima di OR) come segue:

File di programma

Se la zona è calda, occupata o bassa oppure il riscaldamento è spento, allora...

04-20006-02-it, marzo 2019 Tecnico


1691
60 Programmazione di script
60,25 OR

Il controllore interpreta sempre il primo OR come OR di lista e il secondo


come OR logico. Se vuoi invertire l'ordine della frase, usa le parentesi, come
segue:
File di programma

Se (Il riscaldamento è spento) o la Zona è in riscaldamento, occupata o bassa,


allora...
Esempio 4
Se OR si trova prima di AND, il software di sistema interpreta prima OR perché il software
funziona da sinistra a destra su AND e OR. Prendiamo ad esempio questa affermazione:

File di programma

Se WKD = Sab o Wkd = Sun e TOD > 900 allora...


L'affermazione di cui sopra viene interpretata in modo tale che gli elementi tra parentesi seguenti vengano
calcolati per primi:

Se (Wkd = Sab o Wkd = Sun) e TOD > 900 allora... Se AND si


verifica prima di OR, il controller interpreta prima AND: File di
programma

Se TOD > 900 e Wkd = Sab o Wkd = Sun allora... viene


interpretato come:

Se (TOD > 900 e Wkd = Sab) o Wkd = Sun allora...

Tecnico 04-20006-02-it, marzo 2019


1692
60 Programmazione di script
60.26 Operatori matematici

60.26 Operatori matematici


Gli operatori matematici eseguono operazioni matematiche, come addizione o
sottrazione.
Gli operatori matematici includono le seguenti parole chiave.

60.26.1 DIVISO PER


DIVISO PER divide un numero per un altro. L'operatore di divisione (/) può essere
sostituito da DIVIDED BY.
Per ulteriori informazioni, vedere la sezione 60.27 “DIVISO PER” a pagina 1694..

60.26.2 MENO
MENO sottrae il numero dal numero.
Per ulteriori informazioni, vedere la sezione 60.28 “MENO” a pagina 1695..

60.26.3 MOD
MOD restituisce il resto di un numero diviso per un altro. Per ulteriori

informazioni, vedere la sezione 60.29 “MOD” a pagina 1696..

60.26.4 PIÙ
PLUS aggiunge due espressioni.

Per ulteriori informazioni, vedere la sezione 60.30 “PLUS” a pagina 1697..

60.26.5 VOLTE
TIMES moltiplica due numeri.
Per ulteriori informazioni, vedere la sezione 60.31 “TEMPI” a pagina 1698..

04-20006-02-it, marzo 2019 Tecnico


1693
60 Programmazione di script
60,27 DIVISO PER

60.27 DIVISO PER


Alias: /, DIV
DIVISO PER divide un numero per un altro. L'operatore di divisione (/) può essere
sostituito da DIVIDED BY.

Sintassi
numerodiviso pernumero

Tabella: DIVISI PER Parametri


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
File di programma

Consumo = kwh diviso 24


Esempio 2
File di programma

Consumo = kwh/24

Tecnico 04-20006-02-it, marzo 2019


1694
60 Programmazione di script
60,28 MENO

60.28 MENO
Alias: -
MENO sottrae il numero dal numero.

Sintassi
numeromenonumero

Tabella: Parametri MENO


Parametro Descrizione

numero Qualsiasi numero o espressione.

elenco Due o più numeri (come definiti sopra)


separati da virgole.

allineare Due numeri (come definiti sopra), ciascuno dei


quali indica un'estremità di un intervallo con
THRU tra di loro, o due numeri preceduti da
BETWEEN con AND tra di loro.

Esempi
Esempio 1
File di programma

Kwh_giorno = Kwh_PM meno Kwh_AM


Esempio 2
File di programma

Kwh_giorno = Kwh_PM - Kwh_AM

04-20006-02-it, marzo 2019 Tecnico


1695
60 Programmazione di script
60.29 MOD

60.29 MOD
Alias: RESTO
MOD restituisce il resto di un numero diviso per un altro.

Sintassi
numeromodnumero

Tabella: Parametro MOD


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempio
File di programma

Extra = 5 mod 2
L'equazione divide 5 per 2 e dà il resto di 1, quindi EXTRA è impostato su 1.

Tecnico 04-20006-02-it, marzo 2019


1696
60 Programmazione di script
60,30 PIÙ

60.30 PIÙ
Alias: +
PLUS aggiunge due espressioni.

Sintassi
numeropiùnumero

Tabella: Parametro PLUS


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempio
Esempio 1
File di programma

TotalKwh = KwhMese più KwhGiorno


Esempio 2
File di programma

Kwh Totale = KwhMese + KwhGiorno

04-20006-02-it, marzo 2019 Tecnico


1697
60 Programmazione di script
60.31 TEMPI

60.31 VOLTE
Alias: MULTIPLIED BY, MULT, *
TIMES moltiplica due numeri.

Sintassi
numerovoltenumero

Tabella: Parametro TEMPI


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempio
Esempio 1
File di programma

Costo energetico = Edificio1_KW volte 1,78


Esempio 2
File di programma

Costo energetico = Edificio1_KW * 1,78

Tecnico 04-20006-02-it, marzo 2019


1698
60 Programmazione di script
60.32 Dichiarazioni di programma

60.32 Dichiarazioni del programma


Le istruzioni del programma vengono scritte con parole Script, note come parole chiave,
disposte in una struttura predefinita. Ogni parola chiave ha la propria sintassi delle parole
chiave. Secondo le regole di tale sintassi, alcuni parametri e valori possono o non possono
seguire una parola chiave.

60.32.1 Parole chiave dell'istruzione


Le istruzioni definiscono le azioni eseguite dai controller (come START) o aiutano
nella struttura di un'istruzione (come THE).
Per ulteriori informazioni, vedere la sezione 60.33 “Parole chiave dell'istruzione” a pagina 1700.

04-20006-02-it, marzo 2019 Tecnico


1699
60 Programmazione di script
60.33 Parole chiave delle dichiarazioni

60.33 Parole chiave dell'istruzione


Le istruzioni definiscono le azioni eseguite dai controller (come START) o aiutano
nella struttura di un'istruzione (come THE).
Lo script utilizza tre diversi tipi di parole chiave di istruzione: istruzioni di azione, dichiarazione e
controllo del programma.

60.33.1 Dichiarazioni di azione


Le istruzioni di azione definiscono le azioni eseguite dai controller (come SET). Le

dichiarazioni di azione includono le seguenti parole chiave:

•P
• STAMPA

• IMPOSTATO

• GIRO
Per ulteriori informazioni, vedere la sezione 60.34 “Dichiarazioni di azione” a pagina 1702.

60.33.2 Dichiarazioni di dichiarazione


Le dichiarazioni di dichiarazione aiutano a definire le variabili del programma. Le

dichiarazioni di dichiarazione includono le seguenti parole chiave:

• ARG
• APPUNTAMENTO

• LINEA
• NUMERICO
• CORDA
• IL
Per ulteriori informazioni, vedere la sezione 60.39 “Dichiarazioni di dichiarazione” a pagina 1713.

60.33.3 Dichiarazioni di controllo del programma


Le istruzioni di controllo del programma aiutano a dirigere il flusso del programma.

Le istruzioni di controllo del programma includono le seguenti parole chiave:

• BASATO SU...GOTO
• ROTTURA

• CONTINUA
• PER IL PROSSIMO

• VAI A
• SE...ALLORA...ALTRIMENTI

Tecnico 04-20006-02-it, marzo 2019


1700
60 Programmazione di script
60.33 Parole chiave delle dichiarazioni

• MOSSA
• RIPETERE...FINO AL

• RITORNO
• SELEZIONA CASO

• FERMARE

• FERMARE

• ASPETTARE

• MENTRE
Per ulteriori informazioni, vedere la sezione 60.47 “Istruzioni di controllo del programma” a pagina 1728.

60.33.4 Dichiarazioni qualificanti


Le dichiarazioni qualificatore aiutano a definire variabili di input, output e pubbliche. Le

dichiarazioni qualificatorie includono le seguenti parole chiave:

• INGRESSO

• PRODUZIONE

• PUBBLICO

Per ulteriori informazioni, vedere la sezione 60.61 “Dichiarazioni di qualificazione” a pagina 1753.

04-20006-02-it, marzo 2019 Tecnico


1701
60 Programmazione di script
60.34 Dichiarazioni di azione

60.34 Dichiarazioni di azione


Le istruzioni di azione definiscono le azioni eseguite dai controller (come SET).

60.34.1 P
P stampa i valori di una o più variabili, punti, costanti o altre espressioni che
rappresentano un valore, incluse stringhe di caratteri e date/ora, ciascuna su una riga
separata.
Per ulteriori informazioni, vedere la sezione 60.35 “P” a pagina 1703..

60.34.2 STAMPA
PRINT stampa una serie di caratteri (stringhe di testo, spesso chiamate semplicemente stringhe) su un
oggetto o attributo stringa, una variabile locale, una stampante o una porta di comunicazione.

Per ulteriori informazioni, vedere la sezione 60.36 “STAMPA” a pagina 1704..

60.34.3 IMPOSTATO

SET assegna un valore a un punto o a una variabile.

Per ulteriori informazioni, vedere la sezione 60.37 “SET” a pagina 1710..

60.34.4 GIRO
TURN imposta il nome o i nomi in cima all'intervallo definito per il punto se
ON e in fondo all'intervallo se OFF.
Per ulteriori informazioni, vedere la sezione 60.38 “TURN” a pagina 1712..

Tecnico 04-20006-02-it, marzo 2019


1702
60 Programmazione di script
60:35

60.35 P
Alias: PR
P stampa i valori di una o più variabili, punti, costanti o altre espressioni che
rappresentano un valore, incluse stringhe di caratteri e date/ora, ciascuna su una riga
separata.
L'elenco può contenere diversi tipi di elementi. Stampa le unità con valori in punti.

Per punti, variabili di sistema e attributi, stampa il nome del punto (o variabile o
attributo), seguito da un segno uguale, il valore del punto e le unità. Altrimenti verrà
stampato solo il valore.
Inoltre, è possibile stampare su porte di comunicazione e oggetti stringa (incluse le variabili stringa del
programma).

Sintassi
Pelenco

Tabella: Parametro P
Parametro Descrizione

elenco Una o più espressioni separate da


virgole. L'elenco può includere anche
funzioni o attributi.

Esempi
Esempio 1
Riga di comando

P SupplyAir, ReturnAir, BurnerStat, CoilStatus SupplyAir =


46 gradi F
ReturnAir = 68 gradi F
BurnerStat = acceso
CoilStatus = spento
Si noti che il nome del punto e le unità vengono stampati per ciascun punto.

Esempio 2

Riga di comando

P OutsideAir, Avg (Temp), AvgSetpt, OutsideAir_Type, TOD


OutsideAir_Type = 46 gradi F
86
Setpoint medio = 64

Tipo Aria Esterna = Ingresso


ORA DEL GIORNO = 20:32

04-20006-02-it, marzo 2019 Tecnico


1703
60 Programmazione di script
60.36 STAMPA

60.36 STAMPA
PRINT stampa una serie di caratteri (stringhe di testo, spesso chiamate semplicemente stringhe) su un
oggetto o attributo stringa, una variabile locale, una stampante o una porta di comunicazione.

È inoltre possibile stampare su un punto di stringa o su una variabile locale per riempire quel punto o
variabile con una stringa di testo o numeri. Inoltre, sulla WorkStation è possibile stampare su un file ASCII.

Sintassi
Formato 1: any_of_formats_aboveApunto_stringa_o_variabile
Stampa qualsiasi valore o stringa, inclusi messaggi, punti o variabili, in un punto o una variabile
di stringa per impostare il valore di quella stringa.

Formato 2:Stampacorda
Stampa un valore stringa di testo sulla porta di comunicazione predefinita del programma o del report.

Formato 3:Stampaelenco

Stampa i valori di una o più variabili, punti, costanti o altre espressioni che
rappresentano un valore. L'elenco può contenere diversi tipi di elementi.
Formato 4:Stampaformato_stringa, elenco

Stampa le variabili, i punti o altre espressioni nell'elenco nel formato specificato.

Tabella: Parametri STAMPA


Parametro Descrizione

corda Una serie di caratteri tra virgolette.

formato_stringa Un carattere noto o una stringa di caratteri


combinati con caratteri modificabili per formare
una riga di stampa.

elenco Un carattere noto o una stringa di caratteri


combinati con caratteri modificabili per formare
una riga di stampa.

; (Facoltativo) Se termini un'istruzione PRINT senza il


punto e virgola, la riga successiva che stamperai
inizierà su una nuova riga. Se vuoi stampare due
stringhe una dopo l'altra sulla stessa riga, devi
terminare la prima con un punto e virgola.

punto_stringa_o_variabile Qualsiasi punto di stringa o variabile di stringa definita.

Caratteri di formattazione
È possibile indicare il layout della riga di stampa utilizzando i seguenti simboli speciali:

Tecnico 04-20006-02-it, marzo 2019


1704
60 Programmazione di script
60.36 STAMPA

Tabella: Simboli speciali della riga PRINT

Carattere Descrizione

| Indica l'inizio di una serie di caratteri che servono


esclusivamente per la formattazione e non devono
essere trattati come testo. Se seguito da una
costante numerica, indica che segue un codice
ASCII.

|" (Una barra verticale immediatamente prima


di una virgoletta.) Indica di stampare la
virgoletta, anziché interpretarla come l'inizio
o la fine della stringa.

| costante_numerica Produce il codice ASCII che corrisponde alla


costante numerica. Ad esempio, |7 produrrebbe un
campanello o un segnale acustico se stampato su
un terminale. |13 è il carattere di ritorno a capo.
Vedere i codici ASCII per ulteriori codici.

# Rappresenta un carattere numerico. La serie di


caratteri viene stampata giustificata a destra,
riempiendo con spazi eventuali caratteri vuoti a
sinistra.

$### Visualizza ON, -ON o OFF (come con il punto


di uscita a tre stati).

% Moltiplica il valore in punti per 100 e inserisce un


segno di percentuale dopo quel valore in punti (più
utile con una scala da 0 a 1, dove 1 è 100%).

* Stampa il risultato dell'argomento successivo.

- Stampa un segno meno iniziale o finale, se


espressione è un numero negativo; stampa un
segno più iniziale o finale se espressione è un
numero positivo.

} Rimuove gli zeri finali (spazi decimali


aggiuntivi)

, Stampa le virgole ogni terza cifra a sinistra del


separatore decimale.

> Destra giustifica il numero o il testo all'interno del


formato.

< A sinistra giustifica il numero o il testo all'interno del


formato.

^ Visualizza un'espressione numerica in notazione


scientifica.

@ Rappresenta un carattere di qualsiasi tipo, alfabetico o


numerico. Una serie di caratteri viene stampata con
giustificazione a sinistra, riempiendo con spazi eventuali
caratteri vuoti a destra.

04-20006-02-it, marzo 2019 Tecnico


1705
60 Programmazione di script
60.36 STAMPA

Il formato deve essere racchiuso tra virgolette. La virgola è obbligatoria dopo il formato
(fuori dalle virgolette) se segue un elemento da inserire nel formato (vedi Esempio 3).

Esempi

Tabella: file di programma PRINT e colonne di output


NO. File di programma Produzione Spiegazione

1 Stampa - Stampa il valore


"HEAT_SETPT" nella corda
a NomePunto e cambia il suo
collocamento. Puoi
imposta un punto di

stringa o una variabile this

modo.

2 Stampa "ATTENZIONE - ATTENZIONE-Problemi La stringa di


Problemi sul al 4° piano! stampe dei personaggi; IL
4 ° piano!" le virgolette lo fanno
non.

3 Stampa TEMP1, 67 72 77 75 Viene stampato il valore di


TEMP2, TEMP3, ciascuna variabile
TEMP4 nell'elenco, con uno spazio
dopo il valore.

4 Stampa "Il La temperatura è La stringa viene stampata


la temperatura è 75.0 alle 4:32:05 con il valore del primo
|###.# a punto (o variabile) nel
|##:##:##", primo formato e il valore
~Temp4, Ora, del punto o variabile
Minuto, Secondo successivo nel formato
successivo. Se sono
presenti più di due
formati, il file
punto successivo o
i valori variabili sono
stampato nel
corrispondente
formati in ordine.

5 Stampa 1340 Lascia 3 iniziali


"|#######", spazi prima del
Total_Watt valore dei Watt totali. Il
valore viene stampato sul
terminale chiamato
TERMINALE.

6 Stampa giorno feriale; Martedì 2 gennaio Stampa tutto il testo e gli


spazi sulla stessa riga
Stampa " "; perché ciascuno
Stampa mese; Dichiarazione STAMPA
termina con a
Stampa " "; punto e virgola (;).

Stampa giorno del mese

Tecnico 04-20006-02-it, marzo 2019


1706
60 Programmazione di script
60.36 STAMPA

Continua
NO. File di programma Produzione Spiegazione

7 Stampa 1.340,00 Ne lascia uno in testa


"|##,###.##", spazio. Aggiunge il
Total_Watt virgola dopo l'1 e
ha due zeri dopo
la virgola.

8 Stampa 1.340 Elimina i decimali aggiuntivi

"#,###.##}", posti (zeri finali).


Total_Watt

9 Stampa "Il ventaglio Lo stato della ventola è ON Stampa ON, -ON o OFF
Lo stato è per un punto digitale o
|$###", a tre stati, a sinistra
FanStatus giustificando ON nel
formato.

10 Stampa "Il L'impostazione dello smorzatore Stampa la pulsazione


Impostazione dello smorzatore sono le 20.00 valore dello smorzatore
è |##.##", nel formato. Qui la
Ammortizzatore serranda è accesa per 20
secondi. per -ON, il
valore è negativo.

11 Stampa "| *", Murphy Johnson Emette un numero qualsiasi

Murphy Nome completo di caratteri di qualsiasi


tipo presenti
nell'attributo FullName.
Il * è particolarmente
utile quando non si
vuole limitare il
numero di caratteri
in una variabile.

12 Stampa Riscaldatore guasto! Il messaggio dentro


"|@@@@@@@@@@@@@ Stampe STRMSG rimaste
@", giustificato nei 14
caratteri consentiti
~ STRMSG a dai segni @.
Edificio1
Consolle

13 Stampa 21.7 Il diritto giustifica e


"|>#######.##}" elimina lo 0 finale.
, 21.70

14 Stampa "|-##>##", +88,8 Stampa il meno iniziale


88,8 segno se il numero
è negativo e il
segno più iniziale se
il numero è
positivo. Stampa tutto
zeri finali.

04-20006-02-it, marzo 2019 Tecnico


1707
60 Programmazione di script
60.36 STAMPA

Continua
NO. File di programma Produzione Spiegazione

15 Stampa "|##.##-", 88,80- Stampa il segno meno finale

-88,80 segno se il numero


è negativo e il
segno più finale se il
numero è positivo.
Stampa tutto il finale
zeri.

16 Stampa "|###^## 8,97e03+05 è il Stampa il numero in


è il "Totale." notazione scientifica.
|"TOTALE.|"", Stampa anche il
97000 Virgolette
intorno a VALORE,
perché verticale
la barra è prima di
ogni virgoletta
dovrebbe stampare.

17 Stampa 8,97e-01 Stampe in ambito scientifico

"|###^##"", notazione con


. 8970 esponente negativo.

18 Stampa "|- +1.340e+06 Stampe in ambito scientifico

# # . # # ^##"", notazione con a


1340000 segno più iniziale per
un numero positivo.

19 Stampa "Il La corrente del ventilatore Stampa la stringa di testo

corrente del ventilatore lo stato è ABILITATO. giustificata a sinistra nel

lo stato è formato e lascia uno spazio

|@@@@@@@@.",~ vuoto per il file

Stato del ventilatore carattere insoddisfatto


alla fine.

20 Stampa "La valvola La valvola è impostata al Stampa il valore in unità


è impostato su |%### 45% di apertura. ingegneristiche come
aperto.",~Acqua_V una percentuale della
valore scala per il punto. Questo
formato funziona
meglio con una scala da 0
a 1, dove 0 è
completamente chiuso e 1
è completamente aperto.
Quindi, se il valore è 1,
l'istruzione stampa 100%.
Se il valore è 0,45, il
stampe di dichiarazioni
45%.

Tecnico 04-20006-02-it, marzo 2019


1708
60 Programmazione di script
60.36 STAMPA

Continua
NO. File di programma Produzione Spiegazione

21 Data di stampa:", Data: 4 dicembre Stampa la data.


Mese, 2008 Le virgole devono
",~Giornodelmese, separare ciascun gruppo
Rapporto di prova
",",Anno del testo letterale. Tieni presente

che è l'unico posto in cui viene


Stampa " " visualizzato uno spazio

Stampa "Prova subito dopo il


Rapporto" parola Data. È necessario
specificare lo spazio vuoto
spazio tra virgolette
segni.
Stampa anche una
riga vuota tra la data
e il titolo del report.
Se usi la parola
STAMPA, seguita da
uno vuoto dentro
Virgolette,
quindi l'intera riga verrà
stampata come una riga
vuota (a meno che non
venga inserito un punto e
virgola alla fine).

04-20006-02-it, marzo 2019 Tecnico


1709
60 Programmazione di script
60.37 SET

60.37 IMPOSTATO

Alias: ADJUST e CHANGE (solo Formato 1), LET (solo Formato 2), MODIFY SET assegna

un valore a un punto o una variabile.

Sintassi
Sintassi 1:ImpostatoLista di nomiAnumero

Sintassi 2:Impostatolista nomi = numero

Tabella: Parametri SET


Parametro Descrizione

Lista di nomi Qualsiasi nome definito o elenco di nomi. Il nome


o i nomi possono essere uno dei seguenti tipi:

• Punto (qualsiasi tipo).

• Variabile locale, numerica, stringa o


data/ora.
Il tipo di nome deve corrispondere al tipo di
numero.

numero Qualsiasi numero o espressione, inclusa una


stringa o data e ora, o un nome che rappresenta
una di queste.

Un nome numerico può accettare solo i risultati di


un'espressione numerica. Un nome di stringa può
accettare solo testo. Un nome datetime può accettare
solo una data e un'ora.

Esempi
Esempio 1
In qualsiasi momento in un programma è possibile impostare il valore di una variabile o di un array di variabili
utilizzando SET e la parola TO:

File di programma

Imposta l'area su altezza per larghezza


Puoi anche utilizzare REGOLA, CAMBIA o MODIFICA con A. Con REGOLAZIONE
e CAMBIA il TO è richiesto:
File di programma

Regolare la valvola per aprirla File

di programma

Cambia Space_SP in 72 File di


programma

Modifica Space_SP in 72
Non è possibile utilizzare il segno uguale con REGOLA o CAMBIA, ma è possibile utilizzare il
segno uguale con MODIFICA.

Esempio 2

Tecnico 04-20006-02-it, marzo 2019


1710
60 Programmazione di script
60.37 SET

È possibile impostare una variabile utilizzando SET e un segno di uguale come nell'esempio seguente: File di

programma

Imposta KwAbg = Media (KW)


Invece di SET, è possibile utilizzare LET con il segno uguale, come segue:

Program File

Sia KwAvg = Media (KW) Non puoi


usare la parola TO con LET.
Né la parola SET né la parola LET sono richieste con il segno uguale, quindi puoi impostare la
stessa variabile in questo modo:

File di programma

KwAvg = Media (KW)


Esempio 3
È possibile impostare una variabile stringa o puntare a un valore particolare: File

di programma

Imposta Stat_Message su "Calore attivo"


Esempio 4
È possibile impostare diversi punti e variabili su un valore particolare: File di

programma

Imposta KwAvg, OATAvg, HWAvg, CHWAvg = 0

04-20006-02-it, marzo 2019 Tecnico


1711
60 Programmazione di script
60.38 GIRO

60.38 GIRO
TURN imposta il nome o i nomi in cima all'intervallo definito per il punto se
ON e in fondo all'intervallo se OFF.

Sintassi
Formato 1:Accendereelenco_punti

SPEGNEREelenco_punti

Formato 2:Giroelenco_puntiAl TURNO

elenco_puntiSPENTO

Tabella: Parametro TURN


Parametro Descrizione

elenco_punti Uno o più output definiti o punti


numerici; la dichiarazione non è
progettata per altri tipi di punti.

Esempi
Esempio 1
Supponiamo di voler accendere la ventola e la pompa. Puoi attivarli entrambi in un'unica
istruzione di programma:

File di programma

Accendere la ventola e la pompa


Esempio 2
È possibile inserire la parola ON o OFF dopo il nome del punto: File di

programma

Spegnere la pompa
Esempio 3
È inoltre possibile inserire ON o OFF prima del nome del punto: File di

programma

Spegnere la pompa

Tecnico 04-20006-02-it, marzo 2019


1712
60 Programmazione di script
60.39 Dichiarazioni di dichiarazione

60.39 Dichiarazioni di dichiarazione


Le dichiarazioni di dichiarazione aiutano a definire le variabili del programma.

60.39.1 ARG
ARG è una parola chiave che definisce un argomento e può ricevere un nome. Dopo aver
assegnato un nome facile da ricordare a una variabile argomento, puoi fare riferimento a quella
variabile con il suo nome in modo che la tua funzione sia più facile da capire.

Per ulteriori informazioni, vedere la sezione 60.40 “ARG” a pagina 1715..

60.39.2 APPUNTAMENTO

DATETIME crea e definisce uno o più nomi come variabili DATETIME locali. Si definiscono le
variabili all'interno di un programma da utilizzare solo in quel particolare programma.

Per ulteriori informazioni, vedere la sezione 60.41 “DATETIME” a pagina 1716..

60.39.3 LINEA
LINE etichetta una particolare riga nel programma in modo che il controllo del programma possa
successivamente diramarsi o spostarsi su quella riga con l'istruzione GOTO (o più avanzata BASED
ON..GOTO).

Per ulteriori informazioni, vedere la sezione 60.42 “LINEA” a pagina 1718..

60.39.4 NUMERICO
NUMERIC crea e definisce uno o più nomi come variabili numeriche locali. Si definiscono le variabili
all'interno di un programma da utilizzare solo in quel particolare programma.

Per ulteriori informazioni, vedere la sezione 60.43 “NUMERICO” a pagina 1722..

60.39.5 CORDA
STRING crea e definisce uno o più nomi come variabili stringa locali. Si definiscono le
variabili all'interno di un programma da utilizzare solo in quel particolare programma. È
possibile specificare la lunghezza della stringa di caratteri con string_length.

Per ulteriori informazioni, vedere la sezione 60.44 “STRINGA” a pagina 1724..

60.39.6 IL
THE non svolge alcuna funzione, ma migliora la leggibilità.

Per ulteriori informazioni, vedere la sezione 60.45 “IL” a pagina 1726..

04-20006-02-it, marzo 2019 Tecnico


1713
60 Programmazione di script
60.39 Dichiarazioni di dichiarazione

60.39.7 Servizio web


Webservice descrive un servizio Web in un programma Script.

Per ulteriori informazioni, vedere la sezione 60.46 “Servizio Web” a pagina 1727.

Tecnico 04-20006-02-it, marzo 2019


1714
60 Programmazione di script
60.40 ARG

60,40 ARG
Alias: PARAM
ARG è una parola chiave che definisce un argomento e può ricevere un nome. Dopo aver
assegnato un nome facile da ricordare a una variabile argomento, puoi fare riferimento a quella
variabile con il suo nome in modo che la tua funzione sia più facile da capire.

ARG può essere utilizzato solo per dichiarare quella variabile in una funzione (sintassi 1). ARG chiama la
variabile argomento tramite il numero della variabile (sintassi 2).

Sintassi
Sintassi 1:ARGnome_costante_intera
Sintassi 2:ARG [espressione_intera]

Tabella: Parametri ARG


Parametro Descrizione

costante_intera Qualsiasi numero intero compreso tra 1 e 15.

nome Qualsiasi nome scelto per l'argomento, inclusi il


carattere di sottolineatura e il punto, ma deve iniziare
con una lettera. Non una parola chiave.

espressione_intera Qualsiasi numero intero o espressione che restituisce un

numero intero.

Esempi
Esempio 1
In questo esempio, ARG[5] rappresenta lo stato di un report. Per renderlo più facile da capire, ARG[5]
si chiama RPTSTATUS. Da quel momento in poi il programma fa riferimento a RPTSTATUS per il
valore della variabile.

File di funzioni

ARG 5 Stato Rpt


Esempio 2
Per verificare se lo stato del report è uguale a SUCCESS, puoi chiamare la variabile
argomento utilizzando il nome facile da ricordare (dall'esempio 1):
File di funzioni

Se RptStatus ha successo, allora...


Esempio 3
Per verificare se lo stato del report è uguale a SUCCESS, puoi anche richiamare la variabile
argomento utilizzando ARG[5]:

File di funzioni

Se ARG[5] è Successo allora...

04-20006-02-it, marzo 2019 Tecnico


1715
60 Programmazione di script
60.41 DATAORA

60.41 APPUNTAMENTO

DATETIME crea e definisce uno o più nomi come variabili DATETIME locali. Si definiscono le
variabili all'interno di un programma da utilizzare solo in quel particolare programma.

Si definiscono le variabili come segue:

• Specificare un array includendo array_size_number durante la definizione dell'array


poiché ogni variabile può essere una singola variabile o un array.

• Aggiungere secondi come se la data e l'ora fossero un numero perché la data e l'ora vengono archiviate
in secondi.

• Definire tutte le variabili datetime locali nella parte superiore del programma.

• Impostare la variabile datetime sull'ora in un dato momento utilizzando la variabile di sistema


DATE.

• Stampare la variabile datetime. Quando lo fai, riceverai la data e l'ora stampate in questo
formato:
MESE GG AAAA hh:mm:ss
Il mese è precisato; il giorno è di due cifre, l'anno di quattro cifre. L'ora, i minuti e i
secondi sono espressi nel formato 24 ore.

Qualificatori vincolanti

Le variabili possono anche essere legate alla proprietà dell'oggetto di un punto esterno al
programma. Per fare ciò, è necessario utilizzare una parola chiave, Input o Output.

Sintassi
AppuntamentoElenco nomi qualificatore_binding [numero_dimensione_array]

Tabella: parametri DATETIME


Parametro Descrizione

Lista di nomi Il nome di una variabile datetime che stai


definendo o una serie di variabili datetime
separate da virgole.

matrice_dimensione_numero Un numero fino a 32.767 che indica al


controller quante posizioni ci sono
nell'array.

Qualificatore_binding La parola chiave Input o Output, che puoi


associare a un punto.

Esempi
Esempio 1
In questo programma, la prima istruzione definisce TEMPTIME come variabile datetime.
L'istruzione successiva imposta la variabile sull'ora in un dato momento con la variabile di
sistema DATE:

File di programma

Data/ora TempTime
TempTime = data
Esempio 2
È possibile definire una serie di variabili datetime in una singola istruzione:

Tecnico 04-20006-02-it, marzo 2019


1716
60 Programmazione di script
60.41 DATAORA

File di programma

Datetime TempTime, FirstTime, LastTime


Esempio 3
È possibile definire più di un array di variabili data/ora in una singola istruzione: File di

programma

Data e ora TempTime[40], Timer[30], Orologio[15]


Esempio 4
È possibile definire diversi array di variabili datetime e diverse variabili singole in
un'unica istruzione:
File di programma

Datetime TempTime[40], FirstTime, Timer[30], LastTime

04-20006-02-it, marzo 2019 Tecnico


1717
60 Programmazione di script
60.42 LINEA

60.42 LINEA
LINE etichetta una particolare riga nel programma in modo che il controllo del programma possa
successivamente diramarsi o spostarsi su quella riga con l'istruzione GOTO (o più avanzata BASED
ON..GOTO).

Attenzione

• I nomi delle righe 0, C ed E sono riservati per l'uso da parte della WorkStation. LINE 0 è predefinita per
arrestare il programma, quindi non è possibile etichettare una riga LINE 0. Tuttavia, è possibile
utilizzare GOTO riga 0 per arrestare un programma. È possibile etichettare una riga LINE E e il
programma passa automaticamente a quella riga quando si verifica un errore. La LINEA C è
riservata per usi futuri.

È possibile etichettare le righe per reindirizzare il flusso del programma a qualsiasi parte del programma. Ad
esempio, potresti riportare il flusso del programma a una riga precedente, come la prima riga. Oppure potresti
inviare il flusso del programma a una riga successiva per diramarsi in una serie specifica di azioni.

Sintassi
Lineanomelinea

nome linea:

Lineanumero intero

Numero intero:

Tabella: Parametri LINEA


Parametro Descrizione

nomelinea Qualsiasi singolo carattere o parola che non sia una


parola chiave, tranne:

• C (riservato)
• E (utilizzato per il rilevamento degli errori)

È necessario iniziare il nome con un carattere


alfabetico. Nell'istruzione GOTO, l'etichetta deve
essere scritta esattamente come nell'istruzione
LINE; tuttavia, puoi scambiare maiuscole e
minuscole.

numero intero Qualsiasi singolo numero intero, tranne 0.

LINE 0 è predefinita per arrestare il programma, quindi


non è possibile etichettare una riga LINE 0. Tuttavia, è
possibile utilizzare la riga GOTO 0 per interrompere un
programma.

Formato 2 Il nome della riga seguito da due punti (:) sulla


propria riga.

Formato 4 Il numero intero seguito da due punti (:) sulla propria


riga. In questo caso, la riga ha un numero di riga per un
nome.

Esempi
Esempio 1

Tecnico 04-20006-02-it, marzo 2019


1718
60 Programmazione di script
60.42 LINEA

Nell'esempio seguente il primo nome riga è STARTUP, etichettato LINE STARTUP. Seguire il flusso
del programma per vedere come il nome della riga dirige il controllo del programma.

File di programma

Avvio della linea


Se Temp > 72 vai a Raffreddamento. Se
Temp < 70 vai a Riscaldamento linea di
riscaldamento
Accendi il riscaldamento

...

Vai a Avvio
Raffreddamento della linea

Accendi il ventilatore
...

Vai a Avvio
Esempio 2
Questo esempio è uguale al precedente, solo che ogni nome di riga è etichettato con il nome
seguito da due punti:

File di programma

Avviare:
Se Temp > 72 vai a Raffreddamento Se
Temp < 70 vai a Riscaldamento
Riscaldamento:
Accendi il riscaldamento

...

Vai a Avvio
Accendere il raffreddamento del

ventilatore:

...

Vai a Avvio
Esempio 3
Questo esempio mostra come utilizzare un numero intero come etichetta di riga: File

di programma

LINEA 1
Avvia Fan1
Vai a 2
LINEA 2
Se Fan1_Status è attivo, vai a Shutdown LINE
Shutdown
Se la temperatura della Zona1 è inferiore a 60, allora

04-20006-02-it, marzo 2019 Tecnico


1719
60 Programmazione di script
60.42 LINEA

Arresta ventola 1

Vai a 1
Finisci se

Esempio 4
Questo esempio mostra un numero intero con due punti come etichetta di riga:

Program File

1:
Avvia Fan1
Vai a 2
2:
Se Fan1_Status è attivo, vai a 3 3:

Se la temperatura della Zona1 è inferiore a 60, arrestare la

ventola 1

Vai a 1
Finisci se

Esempio 5
Questo esempio mostra un programma che ha una riga etichettata E. Il programma va automaticamente
alla riga E quando si verifica un errore. Se non si dispone della linea E, il software disattiva automaticamente
il programma. Quando si verifica un errore, potresti volere che il programma vada su una riga speciale. Ad
esempio, potresti volere che il programma vada su una linea speciale che chiude una porta di comunicazione
aperta (vedi OPEN).

Il seguente programma va alla linea E e chiude la porta di comunicazione quando si verifica un


errore:

File di programma

Risultato numerico
Linea OpenPort3
Risultato = Test linea
aperto (Comm3)Aperto
Se risultato = successo, vai alla riga PrintMenus
PrintMenus
Esegui MenuDisplay
...

Se Comm3_PrintDone = true, vai a ClosePort3 Line


ClosePort3
Risultato = Chiudi (Comm3)
Chiusura test linea
Se il risultato = Successo, allora Stop
Line E
Risultato = Chiudi (Comm3)

Tecnico 04-20006-02-it, marzo 2019


1720
60 Programmazione di script
60.42 LINEA

Stampa "USCITA DI EMERGENZA - MENUPROGRAMMA FALLITO."

Se si dispone di una riga E, quando si verifica un errore, la riga E viene visualizzata nelle informazioni sullo
stato del file.

04-20006-02-it, marzo 2019 Tecnico


1721
60 Programmazione di script
60.43 NUMERICO

60.43 NUMERICO
Alias: NUMERO
NUMERIC crea e definisce uno o più nomi come variabili numeriche locali. Si definiscono le variabili
all'interno di un programma da utilizzare solo in quel particolare programma.

Mancia

Una variabile numerica è un nome che rappresenta un numero. Le variabili numeriche sono
soggette alle stesse limitazioni di intervallo delle costanti numeriche. Costanti numeriche,
variabili, punti, espressioni (formule) o funzioni possono essere confrontate con altri elementi di
tipo numerico o utilizzate nei calcoli matematici.

Ogni variabile può essere una variabile singola o un array. Si specifica un array includendo
array_size_number durante la definizione dell'array.

Qualificatori vincolanti
Le variabili possono anche essere legate alla proprietà dell'oggetto di un punto esterno al programma. Per
fare ciò, è necessario utilizzare una parola chiave, Input o Output.

Sintassi
Elenco nomi qualificatore_associazione numerico [numero_dimensione_array]

Tabella: Parametri NUMERICI


Parametro Descrizione

Lista di nomi Il nome della variabile numerica che stai


definendo o una serie di variabili numeriche
separate da virgole.

matrice_dimensione_numero Un numero fino a 32.767 che indica al


controller quante posizioni ci sono
nell'array.

Qualificatore_binding La parola chiave Input o Output che puoi


associare a un punto.

Esempi
Esempio 1
Supponiamo di fare la media dei valori delle dieci temperature. I punti che rilevano
la temperatura dell'aria esterna sono stati definiti tramite menù e finestre, ma voi
definite la variabile che contiene la media tramite NUMERICA:
File di programma

Numerico Avg_Temp
Avg_Temp = Media (Temp)
Stampa Avg_Temp
Esempio 2
È possibile definire una serie di variabili numeriche in un'unica istruzione: File di

programma

Tecnico 04-20006-02-it, marzo 2019


1722
60 Programmazione di script
60.43 NUMERICO

Numerico Ave_OAT, AVE_Temp, Fan_SP


Esempio 3
È possibile definire un array di variabili numeriche in una singola istruzione: File di

programma

Numerico Fan_SP[20]
Esempio 4
È possibile definire diversi array di variabili numeriche e diverse variabili singole in
un'unica istruzione:
File di programma

Numerico Fan_SP[20], Pump_SP, AHU_SP[10], Heat_SP

04-20006-02-it, marzo 2019 Tecnico


1723
60 Programmazione di script
60.44 CORDA

60.44 CORDA
STRING crea e definisce uno o più nomi come variabili stringa locali. Si definiscono le
variabili all'interno di un programma da utilizzare solo in quel particolare programma. È
possibile specificare la lunghezza della stringa di caratteri con string_length.

Mancia

Una variabile stringa è un nome che rappresenta una serie di caratteri alfanumerici. Costanti di
stringa, variabili, punti, espressioni o funzioni possono essere confrontati con altri elementi di tipo
stringa. Le stringhe non possono essere utilizzate nei calcoli matematici a meno che non vengano
convertite in un tipo numerico.

Ogni variabile può essere una variabile singola o un array. Si specifica un array includendo
array_size_number durante la definizione dell'array.

È necessario definire tutte le variabili stringa locali nella parte superiore del programma.

STRING viene utilizzato per memorizzare informazioni testuali nel programma corrente.

Se non si specifica una lunghezza_stringa, alla stringa viene assegnata la lunghezza predefinita, ovvero 16
caratteri.

Mancia

Per i server EcoStruxure BMS, la lunghezza_stringa massima è di 255 caratteri. Per i


dispositivi b3 BACnet, la lunghezza massima è di 32 caratteri. Il compilatore di script
rileva qualsiasi numero fuori intervallo.

Qualificatori vincolanti
Le variabili possono anche essere legate alla proprietà dell'oggetto di un punto esterno al programma. Per
fare ciò, è necessario utilizzare una parola chiave, Input o Output.

Sintassi
CordaQualificatore_bindinglunghezza_stringalista nomi [array_size_number]

Tabella: parametri STRING


Parametro Descrizione

Lista di nomi Il nome della variabile stringa (testo) che stai


definendo o una serie di variabili stringa
separate da virgole.

matrice_dimensione_numero (Facoltativo) Qualsiasi numero fino a 32.767 che indica al


controller quante posizioni sono presenti nell'array.

Qualificatore_binding La parola chiave Input o Output che puoi


associare a un punto.

Esempi
Esempio 1
Per impostare una variabile stringa, è necessario prima definire tale variabile utilizzando STRING. Per definire una
variabile stringa singola della lunghezza predefinita, immettere questa riga di programma:

Tecnico 04-20006-02-it, marzo 2019


1724
60 Programmazione di script
60.44 CORDA

File di programma

StringaNomeVar
Esempio 2
Per fare in modo che un programma legga le informazioni da un file contenente testo, dovresti
creare una serie di variabili stringa come quelle seguenti per contenere ogni parte di informazione
di testo. Puoi crearli tutti nella stessa riga di programma:

File di programma

Stringa 20 LNAME, LOGON, PWORD, ROOM, TERMINAL


La lunghezza di ciascuna stringa è 20. Per assegnare loro lunghezze diverse, è necessario definirle
(dichiararle) ciascuna separatamente.

Esempio 3
Per creare un array di stringhe di variabili, è necessario prima definire l'array. La stringa
denominata PUMP di seguito è una stringa di otto caratteri con 20 variabili nell'array (PUMP[1],
PUMP[2], PUMP[3] e così via).

File di programma

Pompa a corda 8[20]


Pompa[6] = "Pompa di calore"

Esempio 4
È possibile creare diversi array di variabili stringa e variabili stringa singola in un'unica riga di
programma:

File di programma

Pompa a stringa[6], Ventilatore[8], RiscaldatoreNM, NomeVentola

04-20006-02-it, marzo 2019 Tecnico


1725
60 Programmazione di script
60.45 IL

60,45 IL
THE non svolge alcuna funzione, ma migliora la leggibilità.

Sintassi
ILnome

Tabella: IL Parametro
Parametro Descrizione

nome Qualsiasi punto, apparecchiatura, terminale,


computer o stampante.

THE può precedere solo un nome. THE non può


precedere una parola chiave che designa
un'azione (verbo).

Esempi
File di programma

Accendi la ventola

Tecnico 04-20006-02-it, marzo 2019


1726
60 Programmazione di script
60.46 Servizio Web

60.46 Servizio web


Webservice descrive un servizio Web in un programma Script.

Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.

Nota
Il servizio Web non è supportato nel controller serie MP.

Sintassi
Servizio Web (nome del servizio)

Tabella: parametro del servizio Web

Parametro Descrizione

Nome di Servizio Qualsiasi nome di servizio Web di tua scelta.

Mancia

Non è necessario che il nome della dichiarazione del servizio Web corrisponda all'oggetto del servizio
Web di script che si intende associare.

Esempio
Dichiari qui un servizio Web per richiamare un servizio di calcolo online. File di
programma

Servizio Web wsCalculator

04-20006-02-it, marzo 2019 Tecnico


1727
60 Programmazione di script
60.47 Dichiarazioni di controllo del programma

60.47 Dichiarazioni di controllo del programma


Le istruzioni di controllo del programma aiutano a dirigere il flusso del programma.

60.47.1 BASEDON...VAI A
BASEDON...GOTO si dirama su una riga diversa per ciascun valore che il numero può avere.
Inserisci i nomi delle righe nella linelist.

Per ulteriori informazioni, vedere la sezione 60.48 “BASEDON...GOTO” a pagina 1730..

60.47.2 ROTTURA
BREAK interrompe l'istruzione FOR...NEXT, REPEAT...UNTIL, WHILE o
SELECT CASE più piccola.
Per ulteriori informazioni, vedere la sezione 60.49 “BREAK” a pagina 1732..

60.47.3 CONTINUA
CONTINUE interrompe l'iterazione corrente dell'istruzione FOR...NEXT,
REPEAT...UNTIL o WHILE più piccola e avvia l'iterazione successiva dall'inizio del
ciclo. CONTINUE esce anche dall'istruzione SELECT CASE.
Per ulteriori informazioni, vedere la sezione 60.50 “CONTINUA” a pagina 1733..

60.47.4 PER IL PROSSIMO

FOR...NEXT esegue tutte le istruzioni di un ciclo un numero fisso di volte. Per

ulteriori informazioni, vedere la sezione 60.51 “FOR...NEXT” a pagina 1734..

60.47.5 VAI A
GOTO si dirama alla riga denominata linename.

Per ulteriori informazioni, vedere la sezione 60.52 “GOTO” a pagina 1737..

60.47.6 SE... ALLORA... ALTRO


IF...THEN...ELSE esegue una determinata istruzione o serie di istruzioni se
l'espressione è VERA.
IF...THEN...ELSE può anche eseguire una determinata istruzione o serie di istruzioni se
l'espressione data è FALSE.
Per ulteriori informazioni, vedere la sezione 60.53 “IF...THEN...ELSE” a pagina 1740..

Tecnico 04-20006-02-it, marzo 2019


1728
60 Programmazione di script
60.47 Dichiarazioni di controllo del programma

60.47.7 MOSSA
MOVE converte le unità ingegneristiche in unità elettriche per controllare il punto di uscita,
utilizzando la parte superiore e inferiore della scala per quel punto.

Per ulteriori informazioni, vedere la sezione 60.54 “SPOSTA” a pagina 1744..

60.47.8 Ripeti... fino al


Ripeti...Until esegue le istruzioni nel ciclo finché il numero non diventa vero. Per

ulteriori informazioni, vedere la sezione 60.55 “Ripeti...fino a” a pagina 1745..

60.47.9 RITORNO
In una funzione, la parola chiave RETURN controlla il programma chiamante, restituisce e invia
il numero al programma chiamante e restituisce il contenuto della variabile.

Per ulteriori informazioni, vedere la sezione 60.56 “RITORNO” a pagina 1746..

60.47.10 SELEZIONA CASO


SELECT CASE esegue una o più istruzioni, a seconda del valore di
test_expression.
Per ulteriori informazioni, vedere la sezione 60.57 “SELEZIONA CASO” a pagina 1748..

60.47.11 FERMARE

Con un punto di uscita, STOP arresta effettivamente l'apparecchiatura. Con un punto di input,
STOP imposta il punto sul fondo della scala definita. Con un punto numerico, STOP imposta il
punto sul numero più basso nel sistema di controllo. Potresti ARRESTARE un ingresso dopo
aver utilizzato la parola chiave RUN per verificare se l'ingresso è attivo.

Per ulteriori informazioni, vedere la sezione 60.58 “STOP” a pagina 1750..

60.47.12 ATTESA
WAIT fa sì che l'esecuzione di un programma attenda per un numero specificato di secondi e
quindi riprenda subito dopo l'istruzione del comando WAIT.

Per ulteriori informazioni, vedere la sezione 60.59 “WAIT” a pagina 1751..

60.47.13 MENTRE
WHILE esegue ripetutamente le istruzioni nelle istruzioni all'interno del ciclo
finché il numero indicato è VERO.
Per ulteriori informazioni, vedere la sezione 60.60 “MENTRE” a pagina 1752..

04-20006-02-it, marzo 2019 Tecnico


1729
60 Programmazione di script
60.48 BASEDON...VAI A

60.48 BASEDON...VAI A
BASEDON...GOTO si dirama su una riga diversa per ciascun valore che il numero può avere.
Inserisci i nomi delle righe nella linelist.

Sintassi
Sintassi 1:

Basato su (numero)Vai alinelist o

Basato su (numero)Vai alinelist o

Basato su (numero)Vai alinelist


Sintassi 2:
Basato su (numero)Vai alla linealinelist o

Basato su (numero)Vai a Linealinelist

Tabella: Parametri BASEDON... GOTO


Parametro Descrizione

numero Qualsiasi numero o espressione. Se inferiore a


1 o superiore al numero di righe nella linelist,
il controller ignora il file
BASEDON...GOTO ed esegue l'istruzione
immediatamente dopo
BASEDON...VAI A.

linelist Una o più etichette di riga definite (vedi istruzione


LINE) presenti nel programma corrente. L'etichetta
deve essere scritta qui proprio come è definita
l'etichetta, tranne che è possibile scambiare maiuscole
e minuscole. L'etichetta della riga può anche essere un
numero intero.

Esempi
È possibile impostare una serie di passaggi (una riga) da eseguire ogni venerdì per spegnere le
apparecchiature non necessarie durante il fine settimana. Quindi, ogni lunedì puoi riavviare
quell'attrezzatura.

Per eseguire linee diverse in giorni particolari, scrivi un programma che attiva determinate linee in
base al giorno della settimana. Le linee sono etichettate con LINE, che indica la linea da cui inizia la
routine.

Ricordatevi che SOLE è considerato il primo giorno della settimana, quindi nel programma sottostante, la
prima riga elencata dopo GOTO viene eseguita domenica, quella successiva lunedì, quella successiva
martedì e così via:

File di programma

Basedon Wkd Vai a dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1 …

Linea Sole_1

Tecnico 04-20006-02-it, marzo 2019


1730
60 Programmazione di script
60.48 BASEDON...VAI A


Linea Lun_1

Linea mar_1

Linea Mer_1

Linea Gio_1

Linea ven_1

Linea Sab_1

Nota
• Le seguenti variazioni all'istruzione BASEDON (sopra) sono accettabili.

Puoi anche includere la parola LINE davanti all'elenco delle righe:

Basedon Wkd Vai alla linea dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1

Puoi sostituire GOTO con la parola GO:


Basedon Wkd Go dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1 Puoi
separare la parola GO dalla parola TO:
Basedon Wkd Vai a dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1 Puoi
includere la parola LINE dopo GO e TO:
Basedon Wkd Vai alla linea dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1

04-20006-02-it, marzo 2019 Tecnico


1731
60 Programmazione di script
60.49 PAUSA

60.49 ROTTURA
BREAK interrompe l'istruzione FOR...NEXT, REPEAT...UNTIL, WHILE o
SELECT CASE più piccola.
Dopo l'esecuzione di BREAK, l'istruzione successiva eseguita dal controller è quella
immediatamente successiva alla fine del ciclo o del blocco.

Sintassi
Rottura

Esempi
Per controllare diverse temperature memorizzate per vedere se qualcuna supera i 75 gradi, si
utilizza un ciclo FOR...NEXT. Normalmente, il ciclo seguente terminerebbe dopo aver
controllato le 20 temperature. Per uscire dal ciclo non appena ne trovi uno superiore a 75
gradi, usi l'istruzione BREAK.

File di programma

Tecnico 04-20006-02-it, marzo 2019


1732
60 Programmazione di script
60,50 CONTINUA

60,50 CONTINUA
CONTINUE interrompe l'iterazione corrente dell'istruzione FOR...NEXT,
REPEAT...UNTIL o WHILE più piccola e avvia l'iterazione successiva dall'inizio del
ciclo. CONTINUE esce anche dall'istruzione SELECT CASE.
Ogni volta che il ciclo si ripete, l'azione è un'iterazione di quel ciclo.

Sintassi
Continua

Esempi
Per controllare diverse temperature memorizzate in un array e stampare i nomi di quelle superiori a 75
gradi, si utilizza un ciclo FOR...NEXT. (Vedere l'istruzione FOR...NEXT.) Normalmente, il ciclo seguente
stamperebbe i nomi di tutte le 20 temperature memorizzate. Per fare in modo che il ciclo selezioni quelli
superiori a 75, utilizzare CONTINUA per interrompere il ciclo ogni volta che uno è inferiore o uguale a 75 e
passare all'elemento successivo dell'array.

File di programma

Nel programma precedente, se la temperatura è inferiore o uguale a 75 gradi, CONTINUE dice


al controller di tornare all'inizio del ciclo FOR...NEXT per controllare la temperatura successiva
(e quindi saltare qualsiasi istruzione tra CONTINUE e la temperatura successiva). istruzione
successiva).

04-20006-02-it, marzo 2019 Tecnico


1733
60 Programmazione di script
60.51 PER...SUCCESSIVO

60.51 PER IL PROSSIMO

FOR...NEXT esegue tutte le istruzioni di un ciclo un numero fisso di volte.

Sintassi
Sintassi 1:

Pernumeric_name = dall'inizio alla fine

dell'istruzione

Dichiarazione

...
Prossimonome_numerico

Sintassi 2:

Pernome_numerico = numero del passo dall'inizio alla fine

Dichiarazione

Dichiarazione

...
Prossimonome_numerico

Tabella: Parametri FOR...NEXT


Parametro Descrizione

nome_numerico Una variabile locale definita o un punto che


rappresenta un numero.

Il numeric_name dopo NEXT deve essere


uguale a quello dopo FOR.

dichiarazione Qualsiasi istruzione completa che indichi al


programma cosa fare dopo o quale azione
intraprendere.

inizio Un'espressione intera.

FINE Un'espressione intera.

numero L'importo da incrementare numeric_name


ogni volta che il controller esegue il ciclo.

Esempi
Esempio 1
Un ciclo FOR...NEXT assomiglia a questo: File di

programma

Per conteggio = da 2 a 10 passo 2 Stampa

conteggio, " ", (10 + conteggio) Conteggio

successivo

Tecnico 04-20006-02-it, marzo 2019


1734
60 Programmazione di script
60.51 PER...SUCCESSIVO

L'istruzione imposta il valore di numeric_name sul valore iniziale, quindi esegue le


istruzioni dopo FOR fino a raggiungere NEXT. A NEXT, il programma torna a FOR e ottiene
il valore successivo di numeric_name aggiungendo il numero per iniziare.
Qui, poiché inizio è 2, fine è 10 e numero è 2, numeric_name (spesso chiamato
contatore) conta 2, 4, 6, 8, 10. La prima volta nel ciclo numeric_name è 2, la
seconda volta numeric_name è 4, e così via.
Finché numeric_name è minore o uguale a end, vengono eseguite le istruzioni
all'interno del ciclo. Quando numeric_name è maggiore di end il programma
passa all'istruzione dopo NEXT.
Ecco l'output stampato dal ciclo precedente: 2
12
4 14
6 16
8 18
10 20
Se non si specifica un numero di STEP, il nome aumenta automaticamente di uno
(incrementi) ogni volta che viene eseguito il ciclo.

Il passo può anche essere negativo, assumendo il valore del nome dall'inizio, ad
esempio, di 10 alla fine di 1 con un numero pari a -1.
Il passo può anche essere negativo, assumendo il valore del nome dall'inizio, ad
esempio, di 10 alla fine di 1 con un numero pari a -1.
Esempio 2
Prima di eseguire funzioni che utilizzano le variabili ARG, è possibile impostarle tutte a zero con
un'istruzione di programmazione utilizzando FOR...NEXT:

File di programma

Per count = da 1 a 15

Impostare ARG[count] = 0

Prossimo conteggio

La prima volta che si esegue il ciclo, ARG[1] viene impostato su 0, la seconda volta ARG[2] viene impostato
su 0, la terza volta ARG[3] viene impostato su 0 e così via.

Esempio 3
Per impostare ogni terzo valore in un array su zero, puoi andare al terzo elemento, poi al
sesto, poi al nono e così via, usando STEP con FOR...NEXT:

File di programma

Conteggio dei numeri

Per count = da 3 a 15 passo 3


Impostare Pump[count] = 0
Prossimo conteggio

Esempio 4
Per trovare una media filtrata, puoi impostare una funzione chiamata FILT_TOTAL. La
funzione, mostrata di seguito, utilizza FOR...NEXT per eseguire il ciclo da ARG[3] a ARG[15] e
sommare solo i numeri con un valore compreso tra ARG[1] e ARG[2].

File di funzioni

04-20006-02-it, marzo 2019 Tecnico


1735
60 Programmazione di script
60.51 PER...SUCCESSIVO

Tecnico 04-20006-02-it, marzo 2019


1736
60 Programmazione di script
60.52 GOTO

60.52 VAI A
GOTO si dirama alla riga denominata linename.

Sintassi
Sintassi 1:Vai anomelinea Sintassi 2:

Vai alla lineanomelinea Sintassi 3:

Andarenomelinea Sintassi 4:Vai a

nomelinea Sintassi 5:Vai alla linea

nomelinea

Tabella: Parametro GOTO


Parametro Descrizione

nomelinea Qualsiasi etichetta di riga creata con l'istruzione


LINE. Deve essere nello stesso programma.

Esempi
Esempio 1
Nel seguente programma in loop l'istruzione GOTO con IF..THEN controlla i processi di
riscaldamento e raffreddamento:

File di programma

Inizio riga
Se la temperatura è inferiore a 68, andare a Riscaldamento. Se la

temperatura è maggiore di 76, andare a Riscaldamento della linea di

raffreddamento

Accendi il riscaldatore1

Vai a Inizio
Raffreddamento della linea

Attiva Cool1
Vai a Inizio
Sia il riscaldamento che il raffreddamento sono etichette di linea. Quando la temperatura cambia, GOTO
invia il controllo alla linea appropriata.

Il controller esegue quindi le istruzioni nella riga etichettata.


Si noti che i GOTO sono stati posizionati strategicamente in modo che il controller esegua
alcune istruzioni e ne salti altre.

Esempio 2
È possibile includere la parola LINE davanti al nome della riga, come segue: File

di programma

Linea 1
Avvia Fan1
Vai alla linea 2

04-20006-02-it, marzo 2019 Tecnico


1737
60 Programmazione di script
60.52 GOTO

Linea 2
Se Fan1_Status è attivo, vai a Arresto linea Arresto
linea
Se la temperatura della zona 1 è inferiore a 60,

arrestare la ventola 1

Vai alla linea 1


Finisci se

Esempio 3
Puoi tralasciare TO e digitare solo GO:
Program File
Inizio riga
Se la temperatura è inferiore a 68, vai a Riscaldamento. Se la

temperatura è maggiore di 76, vai a Riscaldamento linea di

raffreddamento

Accendi il riscaldatore1

Vai all'inizio
Raffreddamento della linea

Attiva Raffreddamento1

Vai all'inizio
Esempio 4
È possibile separare GO e TO nel modo seguente: File

di programma

Inizio riga
Se la temperatura è inferiore a 68, andare al riscaldamento SE la

temperatura è maggiore di 76, andare al riscaldamento della linea di

raffreddamento

Accendere il riscaldatore1

Vai all'inizio
Raffreddamento della linea

Attiva Raffreddamento1

Vai all'inizio
Esempio 5
È possibile separare GO e TO e includere anche LINE:
Program File
Inizio riga
Se la temperatura è inferiore a 68, andare alla linea di riscaldamento. Se la

temperatura è maggiore di 76, andare alla linea di raffreddamento. Linea di

riscaldamento.

Accendi il riscaldamento1

Tecnico 04-20006-02-it, marzo 2019


1738
60 Programmazione di script
60.52 GOTO

Vai a Raffreddamento
linea inizio linea
Attiva Raffreddamento1

Vai a Inizio riga

04-20006-02-it, marzo 2019 Tecnico


1739
60 Programmazione di script
60.53 SE...ALLORA...ALTRIMENTI

60.53 SE... ALLORA... ALTRO


IF...THEN...ELSE esegue una determinata istruzione o serie di istruzioni se
l'espressione è VERA.
IF...THEN...ELSE può anche eseguire una determinata istruzione o serie di istruzioni se
l'espressione data è FALSE.
Per tutti i formati si verificano le seguenti azioni:
• Se l'espressione è VERA, il controllore esegue l'istruzione o le
istruzioni che seguono THEN.
• Se l'espressione è FALSE, il controllore salta quelle istruzioni dopo THEN ed
esegue una di queste azioni:
– Esegue le istruzioni dopo ELSE (se viene utilizzato ELSE).
– Passa all'istruzione successiva dopo il blocco IF..THEN.
Indipendentemente dal fatto che l'espressione sia VERA o FALSA, una volta completata l'istruzione
IF..THEN, il flusso del programma passa all'istruzione successiva all'istruzione IF..THEN a meno che il
flusso non venga indirizzato a un'altra riga utilizzando GOTO, BREAK o CONTINUE.

Se ci sono più istruzioni dopo THEN, queste devono essere presenti su righe
consecutive (fisiche) e la fine dell'istruzione deve essere contrassegnata con ENDIF.

Ecco alcune regole generali da seguire per tutti i formati:


• IF e THEN devono essere sempre sulla stessa linea fisica.
• THEN può essere seguito da un'istruzione sulla stessa riga fisica o da più
istruzioni sulle righe fisiche che seguono.
• Se si tratta di un'istruzione su più righe, ELSE deve sempre trovarsi su una riga fisica a parte
(sintassi 4).

• ELSE può essere seguito da un'istruzione sulla stessa riga fisica o da più
istruzioni sulle righe fisiche che seguono (sintassi 4).
• ENDIF è necessario per chiudere un blocco IF..THEN quando si verificano più istruzioni
dopo THEN o quando una o più istruzioni si verificano dopo ELSE.

• Quando si utilizza un'istruzione IF dopo THEN, tale istruzione deve essere nidificata sotto
THEN e terminare con ENDIF. (Vedi Esempio di un'istruzione IF dopo THEN, di seguito.)

Sintassi
Sintassi 1:

SeespressionePoiistruzione
Sintassi 2:
SeespressionePoi
dichiarazione

dichiarazione

dichiarazione

..
FINISCI SE

Sintassi 3:

SeespressionePoidichiarazionealtrodichiarazione

Tecnico 04-20006-02-it, marzo 2019


1740
60 Programmazione di script
60.53 SE...ALLORA...ALTRIMENTI

Sintassi 4:

SeespressionePoi
dichiarazione

dichiarazione

dichiarazione

...

Altro
dichiarazione

dichiarazione

dichiarazione

...

Finisci se

Tabella: Parametri IF...THEN...ELSE


Parametro Descrizione

espressione Qualsiasi numero o espressione. L'espressione


può essere un confronto VERO o FALSO.

dichiarazione Qualsiasi istruzione completa che indichi al


programma cosa fare dopo o quale azione
intraprendere.

Esempi
Esempio di sintassi 1
Per eseguire una singola azione se l'espressione è TRUE, si utilizza la sintassi 1, l'istruzione
IF..THEN a riga singola:

File di programma

Se TOD >= 1200 allora vai a mezzogiorno

Se l'ora del giorno è successiva a mezzogiorno, il flusso del programma si sposta sulla riga
MEZZOGIORNO. Altrimenti il programma continua con l'istruzione successiva.

Nota
• Se si inserisce THEN su una riga fisica separata da IF, si verifica un errore di sintassi.

Esempio di sintassi 2
Per eseguire diverse azioni se l'espressione è VERA e non intraprendere alcuna azione se
l'espressione è FALSA, utilizzare la sintassi 2:

File di programma

Se Wkd = Mon e TOD > 800 e TOD < 1600, eseguire


HeaterProg
Esegui FanCheckProg
Arrestare il PumpProg

04-20006-02-it, marzo 2019 Tecnico


1741
60 Programmazione di script
60.53 SE...ALLORA...ALTRIMENTI

Finisci se

Se l'espressione è FALSE, il controller ignora le istruzioni che seguono THEN


e passa all'istruzione dopo ENDIF.
Esempio di sintassi 3
Per eseguire una singola azione se un'espressione è VERA e un'altra singola azione se
l'espressione è FALSA, utilizzare la sintassi 3:

File di programma

Se TOD > 800 e TOD < 1700 allora esegui DayPrg altrimenti esegui NiteProg Si noti

che IF, THEN ed ELSE devono trovarsi tutti su una riga in questo formato. Esempio

di sintassi 4

Per eseguire diverse azioni se l'espressione è VERA o eseguirne diverse altre se


l'espressione è FALSA, utilizzare la sintassi 4:

File di programma

Se Temp < 72 e [Link] è spento,


accendere la ventola
Chiudere l'ammortizzatore

Altro
Spegnere la ventola.
Aprire la serranda
Finisci se

ELSE sta su una riga a parte in questo formato e la fine dell'istruzione IF..THEN..ELSE
deve essere contrassegnata da ENDIF.
Esempio di IF nidificati
Le istruzioni IF possono essere incluse (nidificate) all'interno di altre istruzioni IF. File

di programma

Se la settimana è sabato o domenica, impostare


l'occupazione su disattivata
Interrompere il programma giornaliero

Se la temperatura è superiore a 70,


accendere la ventola
Aprire l'ammortizzatore

Altro
Spegnere la ventola.
Aprire la serranda
Finisci se

Altro
Imposta Occupazione su On Avvia il

programma giornaliero

Finisci se

Tecnico 04-20006-02-it, marzo 2019


1742
60 Programmazione di script
60.53 SE...ALLORA...ALTRIMENTI

Nota che ogni IF termina con un ENDIF. L'ENDIF interno (rientrato) va con l'IF
e l'ELSE interni, l'ENDIF esterno con l'IF e l'ELSE esterni.
ELSE e ENDIF che appartengono all'IF rientrato sono allineati sotto quell'IF. Notare che
l'ultimo IF termina per primo.

Esempio di un'istruzione IF dopo THEN


Dai un'occhiata alla seguente istruzione con un IF dopo THEN:
Program File

Se la settimana è sabato, se l'ora è 1, vai a 1 altrimenti vai a 2


A quale IF appartiene l'ELSE? In questo caso l'ELSE appartiene al secondo IF. Perché?
Perché ELSE appartiene all'IF precedente più vicino sulla stessa linea fisica.
Un'istruzione IF..THEN che inizia subito dopo THEN è sempre un'istruzione
autonoma che termina su quella riga fisica.
Per fare in modo che ELSE appartenga al primo IF, è necessario formare una disposizione IF nidificata, come
segue:

File di programma

Se la settimana è sabato,
se l'ora è 1, vai a 1

Finisci se

Altro
Vai a 2
Finisci se

In questa istruzione IF annidata, ELSE appartiene al primo IF. Esempio di

un numero con valore diverso da zero

File di programma

Se 10 avvia Burner
Qui, poiché 10 è un valore diverso da zero, 10 viene interpretato come VERO e provoca l'accensione del
bruciatore.

Attenzione

• Fare attenzione quando si programma con le istruzioni IF..THEN..ELSE se il numero è un


valore diverso da zero. Quando ciò si verifica, il numero viene interpretato come TRUE e
viene eseguito il blocco THEN.

04-20006-02-it, marzo 2019 Tecnico


1743
60 Programmazione di script
60.54 MUOVERSI

60.54 MOSSA
Alias: MODULARE
MOVE converte le unità ingegneristiche in unità elettriche per controllare il punto di uscita,
utilizzando la parte superiore e inferiore della scala per quel punto.

Imposta il punto o i punti in output_point_list su numero. Il

segno di percentuale è facoltativo.

Sintassi
MOVE output_point_list A numero
MOVE output_point_list A numero %

Tabella: parametri MOVE


Parametro Descrizione

output_point_list Uno o più nomi o variabili di punti di output separati da


virgole. La parte superiore e inferiore della scala devono
essere impostate per ciascun punto.

numero Qualsiasi numero o espressione, inclusa una data e


un'ora o un nome che ne rappresenta uno.

Prodotti supportati
Serie CX, serie BACnet, serie CMX, serie SCX, serie TCX, serie LCX, serie ACX,
DCX 250, server EcoStruxure BMS

Esempi
Esempio 1
Se Valve2 ha unità ingegneristiche da 0 a 90 gradi e le unità elettriche corrispondenti sono da
0 a 20 mA, quando si sposta l'impostazione di Valve2 su 45, l'unità elettrica viene impostata su
10 mA. Per convertire automaticamente le unità ingegneristiche in unità elettriche, utilizzare
MOVE come segue:

File di programma

SPOSTARE LA VALVOLA 2 SU

45 Esempio 2

Per questa valvola, assumere unità ingegneristiche da 0 a 1 dove 0 è chiuso e 1 è aperto e


unità elettriche corrispondenti da 0 a 20 mA. Spostando l'impostazione di Valve2 al 50% si
ottiene 0,5. A 0,5 la valvola è impostata sul valore corrispondente di 10 mA.

File di programma

MODULARE VALVOLA2 AL 50%

Tecnico 04-20006-02-it, marzo 2019


1744
60 Programmazione di script
60.55 Ripeti...fino al

60,55 Ripeti... fino al


Ripeti...Until esegue le istruzioni nel ciclo finché il numero non diventa vero.

Sintassi
Ripetere
dichiarazione

dichiarazione

...

Fino al numero

Tabella: Ripeti...Fino ai parametri


Parametro Descrizione

dichiarazione Qualsiasi istruzione completa che indichi al


programma cosa fare dopo o quale azione
intraprendere.

numero Qualsiasi numero o espressione, inclusa una data e


un'ora o un nome che ne rappresenta uno.

Le istruzioni all'interno del ciclo vengono sempre eseguite almeno una volta prima che l'espressione venga
valutata.

Esempi
Vuoi stampare tutti i valori in un array: File di

programma

Conteggio numerico

Contare = 1

Ripetere
Stampa OutsideAir [Conteggio]

Conteggio = Conteggio + 1

Fino al conteggio = OutsideAir_Size

04-20006-02-it, marzo 2019 Tecnico


1745
60 Programmazione di script
60.56 RITORNO

60.56 RITORNO
In una funzione, la parola chiave RETURN controlla il programma chiamante, restituisce e invia
il numero al programma chiamante e restituisce il contenuto della variabile.

Se si prevede di utilizzare i risultati di un calcolo in più di un programma, si imposta un file di


funzione e si inseriscono le istruzioni di calcolo al suo interno, creando così una funzione. Quando hai
bisogno della funzione in un programma, chiami la funzione utilizzando la variabile funzione come se
quella funzione fosse qualsiasi altro verbo parola chiave.

Successivamente, l'istruzione RETURN indica alla funzione il valore da restituire al programma


chiamante.

Assicurati di restituire un numero o un altro valore quando desideri utilizzare il valore restituito
nel programma chiamante.

Sintassi
Ritorno

Numero di reso

Tabella: Parametro RETURN


Parametro Descrizione

numero (Facoltativo) Qualsiasi numero o espressione,


inclusa una data e un'ora o un nome che ne
rappresenta uno.

Esempi
Esempio 1
Si utilizza RETURN senza un'espressione per tornare al programma chiamante senza
passare parametri. Potresti farlo con una funzione che contiene una serie di azioni da
compiere, come nella funzione SPEGNIMENTO mostrata di seguito:
File di funzioni

Spegnere il riscaldamento Spegnere

la pompa di funzionamento della

ventola, raffreddamento

Ritorno
In questo caso, RETURN ti riporta al programma che ha chiamato la funzione
SHUTDOWN, restituendo uno 0 numerico perché non hai fornito argomenti
nell'istruzione RETURN.
L'istruzione che richiama SHUTDOWN nel programma chiamante è simile alla seguente:

Program File

Fermare ()
Esempio 2
Per creare una funzione denominata GetArea che calcola l'area della sezione trasversale di un cerchio,
denominare il file della funzione GetArea e inserire quanto segue nel file della funzione:

File di funzioni

Raggio ARG 1

Tecnico 04-20006-02-it, marzo 2019


1746
60 Programmazione di script
60.56 RITORNO

Ritorno (3.14159 * (raggio ^ 2))


Si passa il raggio nel file di funzione dall'istruzione chiamante nel programma principale.
Ecco un esempio di istruzione di chiamata:

File di programma

VOL = OttieniArea(raggio) * LEG


Questa istruzione chiama la funzione GetArea, fornendo il valore del raggio, richiesto
dalla funzione per calcolare l'area.

Esempio 3
Crea una funzione che utilizzi un diametro come argomento per calcolare e restituire il
valore della circonferenza.

File di funzioni

Diametro ARG[1].
Circonferenza numerica

Circumf = 3.14159 * diametro


Ritorno (Circumf)

04-20006-02-it, marzo 2019 Tecnico


1747
60 Programmazione di script
60.57 SELEZIONA CASO

60.57 SELEZIONA CASO


SELECT CASE esegue una o più istruzioni, a seconda del valore di
test_expression.

Sintassi
Seleziona Casotest_espressione
Casolista_espressioni
elenco_dichiarazioni

Casolista_espressioni
elenco_dichiarazioni

...

Caso Altro
else_statement_list

FineSeleziona

Tabella: Parametri SELEZIONE CASO


Parametro Descrizione

test_espressione Qualsiasi espressione numerica, stringa o data/ora.

lista_espressioni Un elenco di una o più espressioni, separate


da virgole.

elenco_dichiarazioni Una o più istruzioni da eseguire se test_expression


corrisponde a qualsiasi espressione
nell'expression_list corrispondente.

else_statement_list Una o più istruzioni da eseguire se test_expression


corrisponde a qualsiasi espressione nella
corrispondente espressione_list.

Se espressione_test corrisponde a qualsiasi espressione in CASE lista_espressioni, le istruzioni


che seguono la clausola CASE vengono eseguite fino alla clausola CASE successiva, se
presente, o fino a EndSelect. È prevista almeno una clausola CASE Expression_list.

La clausola CASE ELSE viene utilizzata per eseguire le istruzioni in else_statement_list se


test_expression non corrisponde ad alcuna espressione in nessuna delle clausole CASE
Expression_list. La clausola CASE ELSE non è obbligatoria. Tuttavia, dovresti includere
comunque la clausola per rilevare valori test_expression imprevisti.

Una volta eseguite le istruzioni in Statement_list o else_statement_list,


l'istruzione subito dopo EndSelect è quella da eseguire successivamente.
Le espressioni possono essere numeriche, stringhe o datetime.

Esempi
Esempio 1
File di programma

Selezionare il giorno della settimana del caso

Caso lunedì, martedì

Tecnico 04-20006-02-it, marzo 2019


1748
60 Programmazione di script
60.57 SELEZIONA CASO

Stampa "Esegui report lunedì_mar" Caso da

mercoledì a venerdì Stampa "Esegui report

mercoledì_gio_venerdì" Caso altrimenti

Stampa "Esegui report fine


settimana" EndSelect
Esempio 2
File di programma

ID rapporto numerico
Seleziona ID rapporto caso
Caso 1
Stampa "Esegui primo rapporto"
Caso 2, 3, da 5 a 10, 15 Stampa
"Esegui rapporto speciale" Caso 20

Stampa il caso "Esegui report


finale" Altro
Stampa "ID report non valido"
EndSelect
Esempio 3
File di programma

Selezionare Descrizione caso numerico 1


Descrizione caso numerico 2
Print “Numerico1 e Numerico2 hanno la stessa descrizione” Case
“Edificio Ovest”
Print "Il numero 1 è l'edificio ovest" Caso Else

Print "Numeric1 non è l'edificio ovest” EndSelect

04-20006-02-it, marzo 2019 Tecnico


1749
60 Programmazione di script
60.58 STOP

60.58 FERMARE

Alias: CHIUSO, CHIUSO


Con un punto di uscita, STOP arresta effettivamente l'apparecchiatura. Con un punto di input,
STOP imposta il punto sul fondo della scala definita. Con un punto numerico, STOP imposta il
punto sul numero più basso nel sistema di controllo. Potresti ARRESTARE un ingresso dopo
aver utilizzato la parola chiave RUN per verificare se l'ingresso è attivo.

Sintassi
Interrompi elenco_punti

Imposta il punto (o i punti) sul fondo della scala definita, spegne l'apparecchiatura e controlla
l'apparecchiatura attraverso il punto. È possibile utilizzare questa istruzione in un programma per spegnere
un componente dell'apparecchiatura.

Tabella: Parametri STOP


Parametro Descrizione

elenco_punti Di solito qualsiasi punto di output definito o elenco


di punti. L'istruzione non è progettata per altri tipi di
punti, ma è possibile interrompere un input o un
punto numerico.

Esempi
È possibile ARRESTARE un programma dall'interno di un programma in risposta a un determinato
insieme di condizioni. Ad esempio, per interrompere HEATPROG dopo le 20:00:

File di programma

Se TOD > 2000 arrestare HeatProg


Se non si nomina un programma dopo STOP, il controller presuppone che si intenda il
programma corrente.

Tecnico 04-20006-02-it, marzo 2019


1750
60 Programmazione di script
60.59 ATTESA

60,59 ASPETTARE

Alias: ritardo

WAIT fa sì che l'esecuzione di un programma attenda per un numero specificato di secondi e


quindi riprenda subito dopo l'istruzione del comando WAIT.

Sintassi
ASPETTAREnumero

Tabella: Parametro ATTESA

Parametro Descrizione

numero Qualsiasi espressione che restituisce un numero.


Interpretato come il numero di secondi di attesa.

Prodotti supportati
Server EcoStruxure BMS

Esempi
Aspetta 5 'aspetta 5 secondi Aspetta
(3)' aspetta 3 secondi Ritardo 10
'aspetta 10 secondi

Restrizioni
È possibile utilizzare la parola chiave WAIT solo nelle seguenti situazioni:

• A livello di server EcoStruxure BMS


• In un programma Script e non in una funzione Script

Mancia

WAIT non è supportato all'interno di un ciclo For.

04-20006-02-it, marzo 2019 Tecnico


1751
60 Programmazione di script
60,60 MENTRE

60,60 MENTRE
WHILE esegue ripetutamente le istruzioni nelle istruzioni all'interno del ciclo
finché il numero indicato è VERO.

Sintassi
Mentrenumero
dichiarazione

dichiarazione

...

Finire

Tabella: Parametri WHILE


Parametro Descrizione

dichiarazione Qualsiasi istruzione completa che indichi al


programma cosa fare dopo o quale azione
intraprendere.

numero Qualsiasi numero, espressione o variabile il cui


valore determina se il ciclo WHILE viene eseguito.
Se il valore è TRUE (diverso da zero) viene eseguito
il ciclo WHILE. Se il valore è FALSE (zero), il ciclo
WHILE non viene eseguito. Se il valore è una
variabile, il valore può essere modificato all'interno
del ciclo WHILE per far sì che il ciclo termini.

Esempi
Inizializza un array manuale di 10 elementi: File di

programma

Contatore numerico
Imposta il contatore su 1

While Contatore <= 10


ManualArray[Contatore] = Contatore*10
Contatore = Contatore + 1
Finire

Tecnico 04-20006-02-it, marzo 2019


1752
60 Programmazione di script
60.61 Dichiarazioni di qualificazione

60.61 Dichiarazioni qualificanti


Le dichiarazioni qualificatore aiutano a definire variabili di input, output e pubbliche.

60.61.1 INGRESSO

INPUT è un qualificatore vincolante che identifica una dichiarazione di variabile come variabile di input. È
possibile associare una variabile di input a una proprietà dell'oggetto all'esterno del programma. La
variabile di input assume lo stesso valore della proprietà a cui è associata. Non è possibile impostare il
valore di una variabile di input.

Per ulteriori informazioni, vedere la sezione 60.62 “INPUT” a pagina 1754..

60.61.2 Bufferizzato
Buffered viene utilizzato esclusivamente come qualificatore per una variabile di input per
indicare che la variabile può contenere uno o più valori bufferizzati. Il tipo di variabile di input
può essere Numerico, String o DateTime.

Per ulteriori informazioni, vedere la sezione 60.63 “Memorizzata nel buffer” a pagina 1755.

60.61.3 PRODUZIONE

OUTPUT è un qualificatore vincolante che identifica una dichiarazione di variabile come variabile di output. È
possibile associare una variabile di output a una proprietà dell'oggetto all'esterno del programma. Quando
la variabile di output è impostata, il valore della proprietà associata verrà impostato sullo stesso valore.

Per ulteriori informazioni, vedere la sezione 60.64 “USCITA” a pagina 1756..

60.61.4 PUBBLICO
PUBLIC è un qualificatore vincolante che identifica una variabile come variabile pubblica. È possibile
modificare una variabile pubblica dall'esterno di un programma Script, ad esempio da un'immagine.

Per ulteriori informazioni, vedere la sezione 60.65 “PUBBLICO” a pagina 1757..

04-20006-02-it, marzo 2019 Tecnico


1753
60 Programmazione di script
60.62 INGRESSO

60.62 INGRESSO

INPUT è un qualificatore vincolante che identifica una dichiarazione di variabile come variabile di input. È
possibile associare una variabile di input a una proprietà dell'oggetto all'esterno del programma. La
variabile di input assume lo stesso valore della proprietà a cui è associata. Non è possibile impostare il
valore di una variabile di input.

Sintassi
dichiarazione_variabileingressoLista di nomi

Tabella: parametri di INPUT


Parametro Descrizione

dichiarazione_variabile La parola chiave Numeric, String o Datetime


che definisce il tipo di variabile di input.

Lista di nomi Il nome della variabile di input che stai


definendo o una serie di variabili di input
separate da virgole.

Esempi
File di programma

Se disponi di un programma che controlla una ventola in base al valore di un punto di input della
temperatura, definisci una variabile di input da associare alla proprietà del valore dell'input.

Ingresso_numerico Temp_DegF
Se Temp_DegF è maggiore di 75, accendere
la ventola
Finisci se

Tecnico 04-20006-02-it, marzo 2019


1754
60 Programmazione di script
60.63 Bufferizzato

60.63 Bufferizzato
Buffered viene utilizzato esclusivamente come qualificatore per una variabile di input per
indicare che la variabile può contenere uno o più valori bufferizzati. Il tipo di variabile di input
può essere Numerico, String o DateTime.

Nota
Il buffering dei valori viene eseguito su base First-In, First-Out (ovvero, una
coda).

Sintassi
tipoingresso bufferizzatonome_variabile

Tabella: parametri memorizzati nel buffer

Parametro Descrizione

tipo La parola chiave Numeric, String o DateTime


che definisce il tipo di variabile di input.

nome_variabile Il nome della variabile di input che stai


definendo o una serie di variabili di input
separate da una virgola.

Esempio
In questo programma di esempio dichiari una variabile di input bufferizzata (BIn1) e una coppia di
variabili di output. BIn1 ha lo stesso valore ogni volta che viene utilizzato come previsto.

Nota
Gli input bufferizzati sono supportati solo nei programmi server EcoStruxure BMS. Non
sono supportati nelle funzioni o sui controllori b3 BACnet, Infinet o serie MP.

File di programma

Ingresso numerico bufferizzato BIn1


Ingresso numerico bufferizzato BIn2
Uscita numerica Out1
Uscita1 = BIn1 + BIn2

04-20006-02-it, marzo 2019 Tecnico


1755
60 Programmazione di script
60.64 USCITA

60.64 PRODUZIONE

OUTPUT è un qualificatore vincolante che identifica una dichiarazione di variabile come variabile di output. È
possibile associare una variabile di output a una proprietà dell'oggetto all'esterno del programma. Quando
la variabile di output è impostata, il valore della proprietà associata verrà impostato sullo stesso valore.

Sintassi
dichiarazione_variabileproduzioneLista di nomi

Tabella: Parametri di USCITA


Parametro Descrizione

dichiarazione_variabile La parola chiave Numeric, String o Datetime


che definisce il tipo di variabile di output.

Lista di nomi Il nome della variabile di output che stai


definendo o una serie di variabili di output
separate da virgole.

Esempi
File di programma

Se disponi di un programma che controlla la temperatura del termostato, definisci una variabile di
uscita da associare alla proprietà della temperatura del termostato.

Uscita numerica Thermostat_Temp_DegF


Thermostat_Temp_DegF = 72,5

Tecnico 04-20006-02-it, marzo 2019


1756
60 Programmazione di script
60,65 PUBBLICO

60,65 PUBBLICO
PUBLIC è un qualificatore vincolante che identifica una variabile come variabile pubblica. È possibile
modificare una variabile pubblica dall'esterno di un programma Script, ad esempio da un'immagine.

Public si comporta come una variabile di output, quindi puoi associare la variabile pubblica al valore di un
punto o alla variabile di input di un programma Script come faresti con qualsiasi variabile di output. A
differenza di una variabile di output, non è necessario utilizzare la funzionalità di forzatura per modificare
Public dalla griglia delle proprietà dello script o da un'immagine.

È necessario utilizzare il qualificatore di associazione pubblica quando è necessario modificare direttamente la


variabile dalla griglia delle proprietà dello script (ovvero, modificare il valore a cui è associata la variabile di
associazione pubblica). A differenza di una variabile di output, è possibile modificare manualmente il valore della
variabile pubblica da un elemento grafico. È inoltre possibile utilizzare Pubblico per monitorare e controllare i valori
di input dell'utente dalla griglia delle proprietà dello script o da un'immagine.

Il vantaggio qui è che puoi utilizzare Public rapidamente senza forzare il valore o dover modificare e salvare il
programma Script. Pubblico mantiene il suo valore anche dopo il salvataggio di un programma script,
un'interruzione di corrente, un avvio a caldo, un avvio a freddo o un riavvio da parte dell'amministratore del
dispositivo.

Sintassi
dichiarazione_variabilepubblicoLista di nomi

Tabella: Parametro PUBBLICO

Parametro Descrizione

dichiarazione_variabile Le parole chiave Numeric, String o Datetime


che definiscono il tipo di variabile pubblica.

Lista di nomi Il nome della variabile pubblica che stai


definendo o una serie di variabili di output
separate da virgole.

Esempi
File di programma

Supponiamo che tu voglia impostare un output nel tuo programma Script utilizzando la variabile
PUBLIC.

Numerico pubblico ReceivedValue


Output numerico OutputValue Imposta
OutputValue su ReceivedValue

04-20006-02-it, marzo 2019 Tecnico


1757
60 Programmazione di script
60.66 Espressioni

60.66 Espressioni
Le istruzioni che consistono in operazioni matematiche sono chiamate espressioni. Le espressioni
possono anche essere nomi di elementi o costanti che restituiscono un risultato numerico o stringa.

60.66.1 Espressioni numeriche


Le espressioni numeriche danno sempre come risultato un numero. Le costanti e le variabili
numeriche sono espressioni. Le espressioni possono anche essere calcoli matematici che danno
come risultato un numero o confronti che producono una risposta VERO o FALSO.

Le seguenti espressioni sono espressioni numeriche valide:

•2
• SQRT (9)
• 900 DIVISO PER 8
• WKD È MAGGIORE DI LUNEDI

60.66.2 Espressioni di stringa


Le espressioni stringa sono espressioni testuali che restituiscono sempre una stringa di caratteri
racchiusa tra virgolette. Anche le costanti stringa e le variabili stringa sono espressioni. Le
espressioni stringa possono essere combinazioni che danno come risultato una stringa di
caratteri.

Le seguenti espressioni sono espressioni stringa valide:


• “AVVERTIMENTO - ALTA TEMPERATURA”

• SINISTRA (“TEST”, 1)

• “IL NUMERO DI ERRORI È”, TOTALE1

Tecnico 04-20006-02-it, marzo 2019


1758
60 Programmazione di script
60.67 Variabili

60.67 Variabili
Una variabile è una proprietà di runtime (che cambia dinamicamente) di un oggetto. Lo

script supporta variabili di programma, di sistema e di runtime.

60.67.1 Variabili del programma


Le variabili sono nomi che rappresentano numeri, parole o date e ore. A differenza di una
costante, una variabile ha un valore che cambia o varia.

Per ulteriori informazioni, vedere la sezione 60.69 “Variabili del programma” a pagina 1761..

60.67.2 Variabili di sistema


Le variabili di sistema sono oggetti che il sistema imposta e aggiorna automaticamente. Le variabili
di sistema sono controllate dal sistema e non possono essere modificate dall'utente.

Per ulteriori informazioni, vedere la sezione 60.73 “Variabili di sistema” a pagina 1767.

60.67.3 Parole chiave delle variabili di sistema


I valori che cambiano sono rappresentati da variabili di sistema. Il controller
aggiorna automaticamente il valore di queste variabili.

Per ulteriori informazioni, vedere la sezione 60.79 “Parole chiave delle variabili di sistema” a pagina
1773.

60.67.4 Variabili di runtime dello script


Le variabili di runtime dello script sono proprietà di sola lettura che visualizzano informazioni sullo stato di
un programma.

Per ulteriori informazioni, vedere la sezione 60.74 “Variabili di runtime dello script” a pagina 1768.

04-20006-02-it, marzo 2019 Tecnico


1759
60 Programmazione di script
60.68 Dichiarazione di una variabile

60.68 Dichiarazione di una variabile


Le variabili del programma locale vengono dichiarate all'inizio del programma script o della
funzione in cui vengono utilizzate le variabili.

Per ulteriori informazioni, vedere la sezione 60.70 “Variabili del programma locale” a pagina 1762.

Per dichiarare una variabile

1. In Script Editor, dichiara la variabile che desideri utilizzare nel programma o nella
funzione:

• Dichiarare la variabile utilizzando la parola chiave del tipo Numeric, String o


DateTime prima del nome della variabile.

• Dichiarare la variabile utilizzando la parola chiave di associazione Input, Output o Public


dopo la parola chiave type e prima del nome della variabile, per abilitare le
associazioni alla variabile.

Ora hai dichiarato le variabili nel tuo programma o funzione Script. Queste
dichiarazioni sono poi seguite da una o più righe di programma o istruzioni che
specificano le operazioni da eseguire.

Tecnico 04-20006-02-it, marzo 2019


1760
Tradotto dal Inglese al Italiano - [Link]

60 Programmazione di script
60.69 Variabili del programma

60.69 Variabili del programma


Le variabili sono nomi che rappresentano numeri, parole o date e ore. A differenza di una
costante, una variabile ha un valore che cambia o varia.

60.69.1 Variabili del programma locale


Le variabili del programma locale sono correlate alle variabili di sistema. A differenza delle variabili
di sistema, che sono note a tutti i controllori del sistema, le variabili di programma locali sono note
solo al programma in cui sono definite. Ciascuna variabile locale viene definita all'inizio del
programma in cui viene utilizzata. Ad esempio, è possibile associare una variabile di programma
locale a una variabile del server EcoStruxure BMS, a un punto I/O o a una variabile di programma
locale di un altro programma per consentire loro di leggere o modificare i valori nel sistema.

Per ulteriori informazioni, vedere la sezione 60.70 “Variabili del programma locale” a pagina 1762.

60.69.2 Array di programmi


Un array di script è un gruppo di variabili della stessa dimensione che condivide un singolo nome, ma
è suddiviso in celle numerate, chiamate elementi.

Per ulteriori informazioni, vedere la sezione 60.72 “Array di programmi” a pagina 1766.

60.69.3 Tipi di riquadro delle variabili


I tipi di variabili visualizzati nel riquadro Variabili includono Integer, Float, Boolean,
String o DateTime, con Float come valore predefinito. Ciascuno di questi tipi è
applicabile solo alle variabili numeriche.

04-20006-02-it, marzo 2019 Tecnico


1761
60 Programmazione di script
60.70 Variabili del programma locale

60,70 Variabili del programma locale


Le variabili del programma locale sono correlate alle variabili di sistema. A differenza delle variabili
di sistema, che sono note a tutti i controllori del sistema, le variabili di programma locali sono note
solo al programma in cui sono definite. Ciascuna variabile locale viene definita all'inizio del
programma in cui viene utilizzata. Ad esempio, è possibile associare una variabile di programma
locale a una variabile del server EcoStruxure BMS, a un punto I/O o a una variabile di programma
locale di un altro programma per consentire loro di leggere o modificare i valori nel sistema.

Nota
• Lo script supporta caratteri pari o inferiori a ASCII 127. I caratteri aggiuntivi non sono
supportati e vengono sostituiti da un punto interrogativo (?).

60.70.1 Dichiarazione della variabile del programma locale


Sono disponibili due formati per la riga di dichiarazione della variabile del

programma locale: Digita Nome variabile_locale[indice_array]


Digitare Binding_Qualifier Nome variabile_locale In ciascun
formato è possibile utilizzare una o più variabili locali.

Nota
• L'opzione dell'indice dell'array non è supportata per l'associazione delle variabili.

Esempi
Numerico A
Data e ora D
Stringhe
Ingresso numerico A1

Ingresso numerico A2, A3, A4


Ingresso numerico A2, A3, A4
Ingresso stringa S1
Ingresso data/ora DT1
Uscita numerica B1
Stringa di output outstr1
Data/ora Uscita outdt1
Numerico Fan_SP [20], Temp [20]
È possibile dichiarare tipi di variabili locali utilizzando le seguenti istruzioni di parole chiave:

• Numerico
• Corda
• Appuntamento

• Funzione

Tecnico 04-20006-02-it, marzo 2019


1762
60 Programmazione di script
60.70 Variabili del programma locale

• Servizio web

Parola chiave numerica


La parola chiave Numeric assegna il nome che segue come variabile numerica locale:

Numeric RateOfRise

Parola chiave stringa


La parola chiave String assegna il nome che segue come variabile stringa locale:

Stringa DirtyFilterMsg

Parola chiave DateTime


La parola chiave DateTime assegna il nome che segue come variabile locale che
accetta una data e un'ora:

DateTime LocalDateTime

Parola chiave funzione


La parola chiave Function assegna il nome che segue come variabile locale, che puoi associare a
una funzione Script definita dall'utente.

Funzione La mia funzione

Parola chiave del servizio Web

La parola chiave WebService assegna il nome che segue come variabile locale, che viene
associata a un oggetto Servizio Web di script.

WebService wsCalculator

60.70.2 Variabili e associazioni del programma locale


Per abilitare una variabile di programma locale da associare alla proprietà di un oggetto, è necessario
includere una parola chiave aggiuntiva per qualificare la dichiarazione. Puoi utilizzare la parola chiave di
associazione Input, Output o Public dopo il tipo e prima del nome della variabile locale.

Queste parole chiave di associazione indicano gli input o gli output del programma oppure le variabili
pubbliche che utilizzano associazioni di proprietà all'esterno del programma:

• Una variabile di input indica che il programma utilizza la variabile per leggere la proprietà
dell'oggetto a cui è associata quella variabile. Per questo tipo, al programma non è consentito
impostare il valore della variabile locale perché la variabile è di sola lettura.

• Una variabile di output indica che il programma utilizza la variabile per impostare la
proprietà dell'oggetto a cui è associata la variabile.

• Una variabile Pubblica indica che il programma rende la variabile accessibile ad altre applicazioni. È
quindi possibile consentire a un'applicazione di associare la propria variabile di output a quella
variabile pubblica.

Mancia

I qualificatori Input e Output si applicano solo ai tipi Numeric, String e DateTime.

04-20006-02-it, marzo 2019 Tecnico


1763
60 Programmazione di script
60.70 Variabili del programma locale

Il tipo della proprietà dell'oggetto a cui si associa una variabile locale deve corrispondere al tipo della
variabile locale a cui si intende associare. Ad esempio, è necessario associare una variabile locale
numerica ai tipi di proprietà dell'oggetto come intero, doppio, float, digitale ed enumerazione. Allo stesso
modo, è necessario anche associare le stringhe alle proprietà del tipo stringa e i datetime alle proprietà
datetime.

Tecnico 04-20006-02-it, marzo 2019


1764
60 Programmazione di script
60.71 Tipi di riquadro Variabili

60.71 Tipi di riquadro delle variabili


I tipi di variabili visualizzate nel fileLocaleOVariabili vincolantii riquadri includono Integer,
Float, Boolean, String o DateTime, con Float come valore predefinito. I tipi intero, mobile o
booleano si applicano solo a una variabile numerica.

Tabella: Tipi di variabili


Dichiarato Variabile Descrizione

Numerico Galleggiante Da utilizzare per l'associazione a una


proprietà a virgola mobile, ad esempio un
valore analogico

interno Da utilizzare per l'associazione a una


proprietà intera, ad esempio un
valore multistato

Bool Da utilizzare per l'associazione a


una proprietà booleana (vero o
falso), ad esempio un valore
digitale

Corda Corda Da utilizzare per l'associazione a un valore


String.

Appuntamento Appuntamento Da utilizzare per l'associazione a


un valore DateTime.

04-20006-02-it, marzo 2019 Tecnico


1765
60 Programmazione di script
60.72 Array di programmi

60.72 Array di programmi


Un array di script è un gruppo di variabili della stessa dimensione che condivide un singolo nome, ma
è suddiviso in celle numerate, chiamate elementi.

Fai riferimento a ciascun elemento dell'array utilizzando un numero chiamato indice.

Ad esempio, se avessimo un array con 8 elementi chiamato CLOCK, puoi fare riferimento ai
suoi otto possibili valori come CLOCK[1], CLOCK[2], CLOCK[3], CLOCK[4] e così via.

Tabella: esempio di una matrice di otto elementi

Indice Valore

1 8.00

2 8.51

3 9.00

4 9.62

5 10.00

6 10.75

7 11.00

8 11.25

CLOCK[1] è 8.00, CLOCK[2] è 8.51, CLOCK[3] è 9.00 e così via. Ogni voce in un array
viene definita elemento. Un array può contenere fino a 32.767 elementi.
Puoi anche inserire una variabile numerica al posto del numero di indice, come
CLOCK[COUNT]. La variabile è chiamata variabile indice.
Quando si definisce una variabile di matrice, è necessario specificare un tipo (numerico,
stringa o data/ora) e il numero di elementi. La seguente istruzione definisce (dichiara) un array
locale chiamato "Temperatura" come numerico con 50 elementi:

TEMPERATURA NUMERICA[50]

Tecnico 04-20006-02-it, marzo 2019


1766
60 Programmazione di script
60.73 Variabili di sistema

60.73 Variabili di sistema


Le variabili di sistema sono oggetti che il sistema imposta e aggiorna automaticamente. Le variabili
di sistema sono controllate dal sistema e non possono essere modificate dall'utente.

I dispositivi Continuum, come un b3 (con firmware invariato), sono l'unica eccezione. Le variabili di
sistema Data e Ora possono essere modificate in un dispositivo b3 con firmware invariato. Per
ulteriori informazioni, vedere la sezione 60.79 “Parole chiave delle variabili di sistema” a pagina 1773.

La tabella seguente fornisce un elenco completo delle variabili di sistema per il software
EcoStruxure Building Operation.

Tabella: variabili di sistema

Nome Descrizione

Data Recupera la data e l'ora correnti del sistema in


modo da poter quindi archiviare tale data e ora in
una variabile.

Giorno del mese Fornisce il giorno corrente del mese dall'1 al


31.

Giorno dell'anno Fornisce il giorno corrente dell'anno compreso


tra 1 e 366.

Ora Indica l'ora corrente, dalle 0 alle 23.

Ora del giorno Indica l'ora in forma decimale da 0 a


23.99.

Minuto Fornisce i minuti dell'ora corrente, da 0 a


59.

Mese Fornisce il mese corrente dell'anno, da


gennaio a dicembre.

Scansione Indica il tempo dell'ultima scansione del controller


in secondi.

Secondo Fornisce il numero di secondi del


minuto corrente, da 0 a 59.

Ora del giorno Fornisce l'ora del giorno con l'ora e i minuti
nel formato HHMM dove HH è un numero
compreso tra 0 e 23 e MM è un numero
compreso tra 0 e 59.

Scostamento UTC Specifica l'offset corrente della coordinata


temporale universale (UTC) in secondi.

Giorno feriale Fornisce il giorno corrente della settimana,


da DOMENICA a SABATO.

Anno Fornisce l'anno in corso.

04-20006-02-it, marzo 2019 Tecnico


1767
60 Programmazione di script
60.74 Variabili di runtime dello script

60,74 Variabili di runtime dello script


Le variabili di runtime dello script sono proprietà di sola lettura che visualizzano informazioni sullo stato di
un programma.

Lo script utilizza quattro diverse variabili di runtime.

60.74.1 TS
TS è una proprietà di runtime del programma script che contiene il numero di secondi
(tempo in secondi) trascorsi da quando il programma è stato sulla riga corrente.
TS sta per tempo in secondi.
Per ulteriori informazioni, vedere la sezione 60.75 “TS” a pagina 1769..

60.74.2 TM
TM è una proprietà di runtime del programma Script che contiene il numero di minuti
(Tempo in minuti) trascorsi da quando il programma è stato sulla riga corrente.
TM sta per Tempo in Minuti.
Per ulteriori informazioni, vedere la sezione 60.76 “TM” a pagina 1770..

60.74.3 TH
TH è una proprietà di runtime del programma Script che contiene il numero di ore
(Tempo in ore) trascorse da quando il programma è stato sulla riga corrente.
TH sta per tempo in ore.
Per ulteriori informazioni, vedere la sezione 60.77 “TH” a pagina 1771..

60.74.4 TD
TD è una proprietà di runtime del programma Script che contiene il numero di giorni (Tempo
in giorni) trascorsi da quando il programma è stato sulla riga corrente.

TD sta per Tempo in giorni.


Per ulteriori informazioni, vedere la sezione 60.78 “TD” a pagina 1772..

Tecnico 04-20006-02-it, marzo 2019


1768
60 Programmazione di script
60,75 ts

60,75 TS
TS è una proprietà di runtime del programma script che contiene il numero di secondi
(tempo in secondi) trascorsi da quando il programma è stato sulla riga corrente.
TS sta per tempo in secondi.

Sintassi
TS

Esempio
Per consentire un tempo di corsa della valvola di 90 secondi, verificare se sono trascorsi 90 secondi da quando è
stata aperta la valvola.

File di programma:

Il controllore misura 90 secondi a partire dall'istante in cui il programma si mette in


linea richiedendo il tempo trascorso.

04-20006-02-it, marzo 2019 Tecnico


1769
60 Programmazione di script
60,76TM

60.76 TM
TM è una proprietà di runtime del programma Script che contiene il numero di minuti
(Tempo in minuti) trascorsi da quando il programma è stato sulla riga corrente.
TM sta per Tempo in Minuti.

Sintassi
TM

Esempio
Per riscaldare la ventola per 5 minuti prima di accendere la pompa, controllare se la
ventola è rimasta in funzione per 5 minuti dopo l'attivazione.
File di programma:

Il controllore misura 5 minuti a partire dall'istante in cui il programma si mette in


linea richiedendo il tempo trascorso.

Tecnico 04-20006-02-it, marzo 2019


1770
60 Programmazione di script
60,77 TH

60.77 TH
TH è una proprietà di runtime del programma Script che contiene il numero di ore
(Tempo in ore) trascorse da quando il programma è stato sulla riga corrente.
TH sta per tempo in ore.

Sintassi
TH

Esempio
Per far funzionare la ventola principale per 1 ora e poi far funzionare la ventola secondaria, controllare se la
ventola è rimasta in funzione per 1 ora dopo l'attivazione.

File di programma:

Il regolatore misura 1 ora a partire dall'istante in cui il programma si mette in


linea richiedendo il tempo trascorso.

04-20006-02-it, marzo 2019 Tecnico


1771
60 Programmazione di script
60,78 touchdown

60,78 TD
TD è una proprietà di runtime del programma Script che contiene il numero di giorni (Tempo
in giorni) trascorsi da quando il programma è stato sulla riga corrente.

TD sta per Tempo in giorni.

Sintassi
TD

Esempio
Per far funzionare una pompa principale per 3 giorni, quindi accendere la pompa secondaria,
controllare se la pompa è rimasta in funzione per 3 giorni dopo l'attivazione.

File di programma:

Il controllore misura 3 giorni a partire dall'istante in cui il programma si mette in linea


facendo la richiesta del tempo trascorso.

Tecnico 04-20006-02-it, marzo 2019


1772
60 Programmazione di script
60.79 Parole chiave delle variabili di sistema

60,79 Parole chiave delle variabili di sistema


I valori che cambiano sono rappresentati da variabili di sistema. Il controller
aggiorna automaticamente il valore di queste variabili.

Lo script utilizza due diversi tipi di parole chiave per variabili di sistema: data e ora e parole
chiave per variabili di runtime.

60.79.1 Variabili di sistema di data e ora


Data e ora Le variabili di sistema rappresentano l'ora del giorno e i valori del calendario
modificabili.

Le variabili di sistema Data e Ora includono le seguenti parole chiave:

• DATA
• GIORNO DEL MESE

• GIORNO DELL'ANNO

• HOD
• ORA
• MINUTO
• MESE
• SECONDO
• TOD
• Scostamento UTC

• GIORNI FERIALI

• ANNO
Per ulteriori informazioni, vedere la sezione 60.80 “Variabili di sistema data e ora” a
pagina 1774.

60.79.2 Variabili di sistema di runtime


Le variabili di sistema runtime sono variabili mantenute dal controller. Le

variabili di sistema runtime includono le seguenti parole chiave:

• ERRORI
• FREEMEM
• SCANSIONE

Per ulteriori informazioni, vedere la sezione 60.93 “Variabili di sistema di runtime” a pagina
1891..

04-20006-02-it, marzo 2019 Tecnico


1773
60 Programmazione di script
60.80 Variabili di sistema data e ora

60,80 Variabili di sistema di data e ora


Data e ora Le variabili di sistema rappresentano l'ora del giorno e i valori del calendario
modificabili.

Una variabile datetime è un nome che rappresenta una data e un'ora. Costanti, variabili,
punti, espressioni o funzioni di data e ora possono essere confrontati con altri elementi di
data e ora. È possibile recuperare la data e l'ora dalla funzione STRTODATE o dalla variabile di
sistema DATE.

Mancia

È possibile stampare una variabile datetime per vedere quale data e ora contiene la variabile.
Tuttavia, la data e l'ora stampate sono un formato predefinito che non è possibile modificare.
La data e l'ora vengono stampate in questo formato (nell'orologio a 24 ore):

MESE GG AAAA hh:mm:ss

60.80.1 DATA
DATE recupera la data e l'ora correnti del sistema in modo da poterle quindi memorizzare in una
variabile.

Il valore per DATE è sempre la data corrente.


DATE è progettato per essere utilizzato con DIFFTIME, insieme a una variabile datetime (definita
utilizzando l'istruzione DATETIME).

Per ulteriori informazioni, vedere la sezione 60.81 “DATA” a pagina 1777..

60.80.2 GIORNO DEL MESE


DAYOFMONTH fornisce il giorno del mese da 1 a 31.
Non è possibile modificare il GIORNO DEL MESE. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Per ulteriori informazioni, vedere la sezione 60.82 “GIORNO DEL MESE” a pagina 1778..

60.80.3 GIORNO DELL'ANNO

DAYOFYEAR fornisce il numero del giorno dell'anno, compreso tra 1 e 366.


Non è possibile modificare il GIORNOANNO. Il server EcoStruxure BMS aggiorna automaticamente
questo valore

Per ulteriori informazioni, vedere la sezione 60.83 “GIORNOANNO” a pagina 1779..

60.80.4 HOD
HOD fornisce l'ora in formato decimale da 0,0 a 23,99.
Non è possibile modificare l'HOD. Il sistema aggiorna automaticamente questo valore.

Tecnico 04-20006-02-it, marzo 2019


1774
60 Programmazione di script
60.80 Variabili di sistema data e ora

Per ulteriori informazioni, vedere la sezione 60.84 “HOD” a pagina 1780..

60.80.5 ORA
HOUR fornisce l'ora corrente, da 0 a 23.
Se l'ora è 5:23:02, l'ora è 5.
Il sistema aggiorna automaticamente la variabile ORA.
Per ulteriori informazioni, vedere la sezione 60.85 “ORA” a pagina 1781..

60.80.6 MINUTO
MINUTO riporta i minuti esatti dell'ora corrente, da 0 a 59.
Il minuto è il minuto sull'orologio del controller, quindi se l'ora è 5:23:02, il minuto è
23.
Non è possibile modificare i MINUTI. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Per ulteriori informazioni, vedere la sezione 60.86 “MINUTI” a pagina 1782...

60.80.7 MESE
MESE fornisce il mese corrente dell'anno, da gennaio a dicembre.
Non è possibile modificare il MESE. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Per ulteriori informazioni, vedere la sezione 60.87 “MESE” a pagina 1783...

60.80.8 SECONDO
SECONDO fornisce il numero esatto di secondi del minuto corrente, da 0 a 59.
Il numero di secondi è indicato dall'orologio del server EcoStruxure BMS. Se
l'ora è 10:02:12, SECOND è uguale a 12.
Per ulteriori informazioni, vedere la sezione 60.88 “SECONDO” a pagina 1785..

60.80.9 TOD
TOD indica l'ora del giorno da 0 (mezzanotte) a 2359, dove 2359 è
l'equivalente di 23:59 nell'orologio a 24 ore.
L'ora del giorno è l'ora dell'orologio del controller. Non è possibile modificare TOD poiché il
controller aggiorna automaticamente tale impostazione.

Per ulteriori informazioni, vedere la sezione 60.89 “TOD” a pagina 1786..

04-20006-02-it, marzo 2019 Tecnico


1775
60 Programmazione di script
60.80 Variabili di sistema data e ora

60.80.10 Scostamento UTC


UTCOffset specifica l'offset corrente della coordinata temporale universale (UTC) in
secondi. Rappresenta la differenza in secondi tra l'ora locale e il Greenwich Mean Time
(GMT) come segue:
• 18000 indica che sei 18000 secondi, o 300 minuti, o 5 ore avanti rispetto al GMT.

• - 18000 indica che sei 18000 secondi, o 300 minuti o 5 ore indietro rispetto al GMT.

Per ulteriori informazioni, vedere la sezione 60.90 “UTCOffset” a pagina 1787.

60.80.11 GIORNO FERIALE

WEEKDAY fornisce il giorno corrente della settimana, da DOMENICA a SABATO.

Quando viene stampato, il giorno della settimana viene indicato come domenica,
lunedì, martedì, mercoledì e così via fino a sabato.

Per ulteriori informazioni, vedere la sezione 60.91 “GIORNO SETTIMANALE” a pagina 1788..

60.80.12 ANNO
ANNO fornisce l'anno corrente. Non è possibile modificare l'ANNO. Il sistema
aggiorna automaticamente il valore.

Quando viene stampato, viene fornito l'anno a quattro cifre.

Per ulteriori informazioni, vedere la sezione 60.92 “ANNO” a pagina 1790...

Tecnico 04-20006-02-it, marzo 2019


1776
60 Programmazione di script
60.81 DATA

60.81 DATA
Alias: TEMPO

DATE recupera la data e l'ora correnti del sistema in modo da poterle quindi memorizzare in una
variabile.

Il valore per DATE è sempre la data corrente.


DATE è progettato per essere utilizzato con DIFFTIME, insieme a una variabile datetime (definita
utilizzando l'istruzione DATETIME).

Sintassi
Data

Esempio
Dopo aver definito la variabile datetime denominata TEMP_DATE utilizzando l'istruzione
DATETIME, è possibile impostare il valore di tale variabile utilizzando la variabile di sistema
DATE, come segue:

File di programma

Data/ora Temp_Date
Data_Temp = Data
In questo modo, TEMP_DATE recupera la data e l'ora esatte del sistema in un dato
momento.

Puoi, ad esempio, registrare la data e l'ora in cui un punto cambia. Puoi


utilizzare la variabile che hai creato nei calcoli successivi.

04-20006-02-it, marzo 2019 Tecnico


1777
60 Programmazione di script
60.82 GIORNO DEL MESE

60.82 GIORNO DEL MESE


Alias: DOM
DAYOFMONTH fornisce il giorno del mese da 1 a 31.
Non è possibile modificare il GIORNO DEL MESE. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Sintassi
Giorno del mese

Esempio
Esempio 1
Per stampare un titolo che contiene la data, dovresti utilizzare DAYOFMONTH, come
mostrato di seguito:

File di programma

Stampa "La cronologia dei kwh per", MESE, GiornodelMese, "," , ANNO
L'intestazione risultante stamperebbe il mese, il giorno del mese e l'anno effettivi, in questo modo:

La cronologia dei kwh per il 15 ottobre 2008

Esempio 2

Per fare in modo che alcuni eventi si verifichino solo in giorni particolari di ogni mese, è
possibile impostare un'istruzione IF..THEN che controlli il giorno del mese:

File di programma

Se DayofMonth è compreso tra 7 e 14, allora...

Tecnico 04-20006-02-it, marzo 2019


1778
60 Programmazione di script
60.83 GIORNIANNO

60.83 GIORNO DELL'ANNO

Alias: DOY
DAYOFYEAR fornisce il numero del giorno dell'anno, compreso tra 1 e 366.
Non è possibile modificare il GIORNOANNO. Il server EcoStruxure BMS aggiorna automaticamente
questo valore

Sintassi
Giorno dell'anno

Esempio
Supponiamo che ad una certa data sia necessario spegnere il riscaldamento e accendere il
raffreddamento. Dovresti utilizzare DAYOFYEAR per istruire il controller:

File di programma

Se DayofYear è 152, arresta


Heating_Prog
Eseguire Cooling_prog
Finisci se

04-20006-02-it, marzo 2019 Tecnico


1779
60 Programmazione di script
60,84 HOD

60.84 HOD
Alias: HOUROFDAY
HOD fornisce l'ora in formato decimale da 0,0 a 23,99.
Non è possibile modificare l'HOD. Il sistema aggiorna automaticamente questo valore.

Sintassi
HOD

Esempio
Esempio 1
È possibile utilizzare la forma decimale dell'ora per vedere se sono passate le 5:30: File di

programma

Se HOD è maggiore di 5,50 allora...


Esempio 2
Un modo semplice per calcolare StartTime basato su OutsideAir potrebbe utilizzare HOD come
segue:

File di programma

Se OutsideAir > 70, vai a CoolStart


Imposta StartTime = (8.00 - (70-OutsideAir) * RateOfRise) Se HOD
= StartTime, vai a StartBldg

Tecnico 04-20006-02-it, marzo 2019


1780
60 Programmazione di script
60,85 ORA

60,85 ORA
Alias: HR
HOUR fornisce l'ora corrente, da 0 a 23.
Se l'ora è 5:23:02, l'ora è 5.
Il sistema aggiorna automaticamente la variabile ORA.

Sintassi
Ora

Esempio
Per agire ogni giorno alle 5:00, dovresti controllare l'ora con la seguente
istruzione:
File di programma

Se Ora è uguale a 5, vai a Avvio

04-20006-02-it, marzo 2019 Tecnico


1781
60 Programmazione di script
60,86 MINUTO

60.86 MINUTO
Alias: MIN
MINUTO riporta i minuti esatti dell'ora corrente, da 0 a 59.
Il minuto è il minuto sull'orologio del controller, quindi se l'ora è 5:23:02, il minuto è
23.
Non è possibile modificare i MINUTI. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Sintassi
Minuto

Esempio
Supponiamo di avere otto programmi da eseguire ogni ora. Per evitare di personalizzare il tempo di
scansione eseguendo tutti i programmi contemporaneamente, è possibile eseguire due programmi in
ogni quarto d'ora:

File di programma

Se Minuto è uguale a 15,


eseguire System_Check
Esegui Power_Usage
Finisci se

Se Minute è uguale a 30,


esegui Temp_Check
Esegui Temp_Rept
Finisci se

Se i minuti sono uguali a 45,


esegui Fan_Check
Esegui Damper_Check
Finisci se

Se i minuti sono uguali a 0,


eseguire Heater_Check
Eseguire il CO_Check
Finisci se

I programmi SYSTEM_CHECK e POWER_USAGE ora vengono eseguiti 15 minuti dopo l'ora


ogni ora di ogni giorno, 24 ore al giorno e 365 giorni all'anno.
I programmi TEMP_CHECK e TEMP_REPT ora vengono eseguiti 30 minuti dopo l'ora
ogni ora di ogni giorno, 24 ore al giorno e 365 giorni all'anno.
I programmi FAN_CHECK e DAMPER_CHECK ora vengono eseguiti 45 minuti dopo l'ora
ogni ora di ogni giorno, 24 ore al giorno e 365 giorni all'anno.
I programmi HEATER_CHECK e CO_CHECK ora vengono eseguiti ogni ora di ogni
giorno, 24 ore al giorno e 365 giorni all'anno.

Tecnico 04-20006-02-it, marzo 2019


1782
60 Programmazione di script
60,87 MESE

60.87 MESE
Alias: MTH
MESE fornisce il mese corrente dell'anno, da gennaio a dicembre.
Non è possibile modificare il MESE. Il server EcoStruxure BMS aggiorna
automaticamente questo valore.

Una volta stampato, il mese viene indicato come gennaio, febbraio, marzo e così via
fino a dicembre. Puoi anche confrontare il MESE con:
• I numeri (da 1 a 12).
• I nomi abbreviati di tre lettere (prime tre lettere). Tutti i
valori per MESE sono elencati di seguito:

Tabella: Valori MESE


Costante Nome corto Nome lungo

1 GEN GENNAIO

2 FEBBRAIO FEBBRAIO

3 MAR MARZO

4 APR APRILE

5 MAGGIO MAGGIO

6 GIU GIUGNO

7 LUG LUGLIO

8 AGOSTO AGOSTO

9 SETTEMBRE SETTEMBRE

10 OTT OTTOBRE

11 NOVEMBRE NOVEMBRE

12 DIC DICEMBRE

Sintassi
Mese

Esempio
Esempio 1
È possibile utilizzare i nomi scritti (lunghi) per la stampa o per il confronto con un mese
effettivo:

File di programma

Se il mese è dicembre, stampare il mese


Produzione

04-20006-02-it, marzo 2019 Tecnico


1783
60 Programmazione di script
60,87 MESE

Sabato
Esempio 2
È possibile utilizzare i nomi brevi per confrontare il mese: File di

programma

Se il mese è GIUGNO, LUGLIO, AGOSTO o SETTEMBRE allora...


Esempio 3

È possibile utilizzare le costanti da 1 a 12 per confrontare il mese: File di

programma

Se Mese è 2 allora...

Tecnico 04-20006-02-it, marzo 2019


1784
60 Programmazione di script
60,88 SECONDO

60.88 SECONDO
Alias: SEC
SECONDO fornisce il numero esatto di secondi del minuto corrente, da 0 a 59.
Il numero di secondi è indicato dall'orologio del server EcoStruxure BMS. Se
l'ora è 10:02:12, SECOND è uguale a 12.

Sintassi
Secondo

Esempio
Se vuoi eseguire un'azione ogni volta che sono trascorsi 50 secondi del minuto, inserisci la
seguente istruzione di programma:

File di programma

Se Second è maggiore di 50 allora...

04-20006-02-it, marzo 2019 Tecnico


1785
60 Programmazione di script
60,89 TOD

60,89 TOD
Alias: ORA DEL GIORNO

TOD indica l'ora del giorno da 0 (mezzanotte) a 2359, dove 2359 è


l'equivalente di 23:59 nell'orologio a 24 ore.
L'ora del giorno è l'ora dell'orologio del controller. Non è possibile modificare TOD poiché il
controller aggiorna automaticamente tale impostazione.

Sintassi
TOD

Esempio
Esempio 1
Per verificare se l'ora del giorno è passata alle 5:00, inserire la seguente riga di programma:

File di programma

Se TOD è maggiore di 500 allora...


Esempio 2
Quando stampi TOD, come nell'esempio seguente, ricevi sempre l'orario in
24 ore:
Stampa TOD
L'ora viene visualizzata come
segue: 20.000 (ovvero 20:00:00)

Tecnico 04-20006-02-it, marzo 2019


1786
60 Programmazione di script
Scostamento 60.90 UTC

60,90 Scostamento UTC

Alias: nessuno

UTCOffset specifica l'offset corrente della coordinata temporale universale (UTC) in


secondi. Rappresenta la differenza in secondi tra l'ora locale e il Greenwich Mean Time
(GMT) come segue:
• 18000 indica che sei 18000 secondi, o 300 minuti, o 5 ore avanti rispetto al GMT.

• - 18000 indica che sei 18000 secondi, o 300 minuti o 5 ore indietro rispetto al GMT.

Sintassi
Scostamento UTC

Esempio
Per modificare la data locale in base all'offset UTC del server locale, inserisci quanto
segue:

File di programma

Datetime Output MyDate


MiaData = Data + UTCOffset

04-20006-02-it, marzo 2019 Tecnico


1787
60 Programmazione di script
60.91 GIORNI FERIALI

60.91 GIORNO FERIALE

Alias: WKD
WEEKDAY fornisce il giorno corrente della settimana, da DOMENICA a SABATO.

Quando viene stampato, il giorno della settimana viene indicato come domenica,
lunedì, martedì, mercoledì e così via fino a sabato.

Puoi anche confrontare il GIORNO SETTIMANALE con:

• I numeri da 1 a 7 (1 uguale a domenica).


• I nomi abbreviati di tre lettere (prime tre lettere).

Nota
• Se si utilizza sia la programmazione con script che con blocchi funzione, ad esempio, quando
si utilizzano sequenze di controllo, tenere presente quanto segue. Lo script utilizza
domenica come primo giorno della settimana e assegna a quel giorno il valore 1, mentre il
blocco funzione utilizza lunedì come primo giorno della settimana e assegna a lunedì il
valore 1.

Tutti i valori per il giorno della settimana sono i seguenti:

Tabella: Valori GIORNO SETTIMANALE

Costante Nome corto Nome lungo

1 SOLE DOMENICA

2 LUN LUNEDI

3 MAR MARTEDÌ

4 MER MERCOLEDÌ

5 GIO GIOVEDÌ

6 VEN VENERDÌ

7 SAB SABATO

Sintassi
Giorno feriale

Esempio
Esempio 1
È possibile scrivere i nomi per la stampa o per il confronto con un giorno reale: File di

programma

Se il giorno della settimana è sabato, stampa il giorno della settimana

Produzione

Sabato
Esempio 2

Tecnico 04-20006-02-it, marzo 2019


1788
60 Programmazione di script
60.91 GIORNI FERIALI

Puoi utilizzare il nome breve o le costanti da 1 a 7 per confrontare il giorno della


settimana in un'istruzione IF:

File di programma

Se Giorno feriale > Domenica O Giorno feriale < 7 allora...

04-20006-02-it, marzo 2019 Tecnico


1789
60 Programmazione di script
60,92 ANNO

60.92 ANNO
Alias: YR
ANNO fornisce l'anno corrente. Non è possibile modificare l'ANNO. Il sistema
aggiorna automaticamente il valore.

Quando viene stampato, viene fornito l'anno a quattro cifre.

Sintassi
Anno

Esempio
Per eseguire un'azione in un lontano futuro, ad esempio inviare un messaggio di promemoria per
controllare determinati componenti dell'attrezzatura, si utilizza la variabile di sistema YEAR per testare
l'anno:

File di programma

Se l'anno è il 2010 ALLORA STAMPA "Benvenuti nell'anno duemiladieci".

Tecnico 04-20006-02-it, marzo 2019


1790
60 Programmazione di script
60.93 Variabili di sistema di runtime

60.93 Variabili di sistema di runtime


Le variabili di sistema runtime sono variabili mantenute dal controller.

60.93.1 ERRORI
ERRORI, una variabile mantenuta dal controller, indica il numero di errori di sistema pendenti. Il
numero aumenta (aumenta di uno) ogni volta che si verifica un nuovo errore e viene cancellato
quando viene reimpostato manualmente su zero (0).

Per ulteriori informazioni, vedere la sezione 60.94 “ERRORI” a pagina 1792..

60.93.2 FREEMEM
FREEMEM contiene il numero di byte di memoria libera nel singolo blocco di memoria
contiguo più grande su un controller.

Per ulteriori informazioni, vedere la sezione 60.95 “FREEMEM” a pagina 1793..

60.93.3 SCANSIONE

SCAN indica la durata in secondi dell'ultimo intervallo di scansione dell'interprete, che il programma
aggiorna regolarmente.

Per ulteriori informazioni, vedere la sezione 60.96 “SCANSIONE” a pagina 1794..

04-20006-02-it, marzo 2019 Tecnico


1791
60 Programmazione di script
60.94 ERRORI

60,94 ERRORI
ERRORI, una variabile mantenuta dal controller, indica il numero di errori di sistema pendenti. Il
numero aumenta (aumenta di uno) ogni volta che si verifica un nuovo errore e viene cancellato
quando viene reimpostato manualmente su zero (0).

Il controller aggiorna automaticamente gli ERRORI. È possibile solo ripristinare il controller su zero.

Il controller incrementa gli ERRORI quando si verifica una delle seguenti condizioni:

• Un errore del programma Script disabilita un programma (che imposta anche l'attributo ERROR
del programma).

• La tensione di riferimento in ingresso del controller esce dal range normale,


solitamente quando si applica troppa tensione a uno o più ingressi.

• La tensione di riferimento in uscita del controller esce dal range normale,


solitamente quando assorbe troppa corrente da uno o più ingressi.
• Il server EcoStruxure BMS ha problemi a trasmettere o ricevere dati.
• Qualcuno reimposta un controller.

• Qualcuno spegne l'alimentazione CA a un controller in modo che l'alimentazione CA si


interrompa, ma la batteria conserva la memoria.

Sintassi
Errori

Esempio
Poiché la variabile ERRORS diminuisce automaticamente dopo aver riconosciuto un errore, il
valore della variabile non dovrebbe mai diventare molto grande.

Nel programma di esempio riportato di seguito, imposti un limite al numero di errori che possono
accumularsi e generi un report su tutti gli errori se il limite viene superato:

File di programma

Se Errori > 10, vai a


Report_Error

Tecnico 04-20006-02-it, marzo 2019


1792
60 Programmazione di script
60,95 FREEMEM

60,95 FREEMEM
FREEMEM contiene il numero di byte di memoria libera nel singolo blocco di memoria
contiguo più grande su un controller.

Solo per gestori di sistema. Progettato principalmente per essere utilizzato solo sulla riga di
comando, non nei programmi, poiché il valore di FREEMEM non cambia dinamicamente.
Principalmente, FREEMEM viene utilizzato nei programmi per rallentare la scansione del
controller.

Sintassi
Freemem

Esempio
Se vuoi conoscere la dimensione del blocco più grande di memoria libera disponibile su un
controller, inserisci quanto segue:

File di programma

Stampa Freemem

04-20006-02-it, marzo 2019 Tecnico


1793
60 Programmazione di script
60.96 SCANSIONE

60,96 SCANSIONE

Alias: SC
SCAN indica la durata in secondi dell'ultimo intervallo di scansione dell'interprete, che il programma
aggiorna regolarmente.

Sintassi
Scansione

Esempio
Per trovare il numero medio di secondi per scansione, eseguire il seguente programma una volta
per ogni scansione dopo che tutti gli altri programmi sono stati eseguiti.

File di programma

Numerico Tot_Scan_SCS, Scan_Count, Scan_Avg


Imposta Tot_Scan_SCS, Scan_Count, Scan_Avg = 0
Totale riga
Totale_Scan_SCS = Totale_Scan_SCS + Scansione

Conteggio_scansioni = Conteggio_scansioni + 1

Se TOD = 2359 allora


Scan_Avg = Totale_Scan_SCS/Conteggio_scansioni

Stampa "La scansione media per", WKD " è", Scan_Avg, "sec"
Imposta Scan_Avg = 0
Imposta Scan_Count = 0

Imposta Tot_ScSCS = 0

Finisci se

Per ogni scansione il programma aggiunge i secondi impiegati dalla scansione al totale dei secondi della
giornata. Inoltre per ogni scansione, il programma aggiunge 1 al contatore delle scansioni.

Alla fine della giornata (23:59 o 23:59), il programma divide il totale delle scansioni per il
numero di scansioni per ottenere la durata media delle scansioni quel giorno. Il programma
poi stampa la media della giornata.

Le variabili numeriche utilizzate per calcolare il numero medio di scansioni giornaliere vengono tutte
impostate su zero alla fine di ogni giornata, in modo che inizino da zero il giorno successivo.

Tecnico 04-20006-02-it, marzo 2019


1794
60 Programmazione di script
60.97 Funzioni di script

60,97 Funzioni dello script


Una funzione è una routine progettata per eseguire un compito o una serie di compiti spesso
ripetuti. La funzione Script diventa quindi una subroutine che può essere chiamata ogni volta che è
necessario eseguire quella particolare azione.

Quando una funzione viene utilizzata per calcolare o fornire un valore, la funzione “restituisce” il
valore al programma che chiama la funzione. Un programma può anche fornire (“passare”) alla
funzione alcuni valori (chiamati “argomenti”) da utilizzare nei calcoli o nelle azioni che il programma
deve intraprendere. Gli argomenti (separati da virgole) sono inclusi tra parentesi dopo il nome della
funzione. Le chiamate di funzione richiedono parentesi, quindi dovresti includere le parentesi anche
se la funzione è vuota (ovvero, funzione ()).

Nota
Le funzioni di script supportano fino a 15 argomenti.

60.97.1 Flusso di lavoro della funzione script


In Script, è necessario dichiarare una variabile locale di tipo Funzione e associarla a un oggetto funzione
Script all'interno dello stesso server EcoStruxure BMS o dispositivo di campo.

Per ulteriori informazioni, vedere la sezione 60.98 “Flusso di lavoro della funzione script” a pagina 1796.

60.97.2 Funzioni e programmi di script


Crei una funzione proprio come crei un programma, utilizzando parole chiave Script
standard, quindi salvi quella funzione in un file.

Le funzioni eseguono attività o calcoli specifici che restituiscono un valore risultante. Sono
semplici e flessibili e possono far funzionare i programmi in modo molto più efficiente
eliminando attività ridondanti.

Per ulteriori informazioni, vedere la sezione 60.102 “Funzioni e programmi di script” a pagina
1801.

60.97.3 Funzioni di sistema


Le funzioni di sistema eseguono una serie particolare di calcoli o azioni e possono restituire
uno o più valori specifici, come Somma, Quadrato, Lunghezza e Avg.

Per ulteriori informazioni, vedere la sezione 60.108 “Funzioni di sistema” a pagina 1808.

04-20006-02-it, marzo 2019 Tecnico


1795
60 Programmazione di script
60.98 Flusso di lavoro funzione script

60,98 Flusso di lavoro della funzione script


In Script, è necessario dichiarare una variabile locale di tipo Funzione e associarla a un oggetto funzione
Script all'interno dello stesso server EcoStruxure BMS o dispositivo di campo.

Puoi farlo come segue:


• Scrivere un programma Script e in quel programma dichiarare una variabile locale del tipo
Funzione. Per ulteriori informazioni, vedere la sezione 60.104 “Dichiarazione e chiamata di una
funzione di script” a pagina 1804.

• Associare la variabile locale all'oggetto Funzione Script.


Per ulteriori informazioni, vedere la sezione 46.10 “Associazione di valori mediante un modello di
associazione” a pagina 1246.
Per ulteriori informazioni, vedere la sezione 59.15 “Associazione di valori in Script Editor utilizzando
un modello di associazione” a pagina 1629.

• Utilizzare il nome di quella variabile locale per attivare la funzione

Puoi farlo utilizzando la parola chiave Function, consentendo così al programma di fare riferimento o
chiamare la funzione, attraverso la sua associazione. Questo è simile al modo in cui il programma richiama
una funzione di sistema.

Mancia

È possibile utilizzare l'istruzione RETURN per restituire un valore al programma o alla funzione
chiamante.

Esistono diversi tipi di funzioni di script, tra cui:


• Funzioni senza argomenti
• Funzioni con argomenti
• Funzioni che restituiscono un valore

60.98.1 Funzioni di script senza argomenti


Non è necessario che una funzione abbia argomenti.

Per ulteriori informazioni, vedere la sezione 60.99 “Funzioni script senza argomenti” a pagina
1798.

60.98.2 Funzioni di script con argomenti


Le funzioni possono avere espressioni Script valide per argomenti, incluse variabili locali del
programma chiamante o della funzione.

Per ulteriori informazioni, vedere la sezione 60.100 “Funzioni script con argomenti” a
pagina 1799.

60.98.3 Funzioni di script che restituiscono un valore


Oltre a ritornare al programma chiamante, RETURN può anche riportare i risultati di un
calcolo. Questi risultati sono: una variabile, una costante o un'espressione.

Tecnico 04-20006-02-it, marzo 2019


1796
60 Programmazione di script
60.98 Flusso di lavoro funzione script

Per ulteriori informazioni, vedere la sezione 60.101 "Funzioni script che restituiscono un valore" a
pagina 1800.

04-20006-02-it, marzo 2019 Tecnico


1797
60 Programmazione di script
60.99 Funzioni di script senza argomenti

60,99 Funzioni di script senza argomenti


Non è necessario che una funzione abbia argomenti. Ad esempio, è possibile definire una
funzione che arresta tutte le ventole e denominarla FANSTOP.

Uscita numerica Fan1, Fan2, Fan3, Fan4


Arresto Fan1, Fan2, Fan3 e Fan4 Ritorno

Programma di chiamata:

Funzione Fanstop
Se TOD > 1800 e TOD < 800 allora FanStop ( )
FANSTOP conosce i ventilatori perché sono punti sul controller.

Tecnico 04-20006-02-it, marzo 2019


1798
60 Programmazione di script
60.100 Funzioni di script con argomenti

60.100 Funzioni di script con argomenti


Le funzioni possono avere espressioni Script valide per argomenti, incluse variabili locali del
programma chiamante o della funzione.

L'esempio seguente mostra una funzione che avvia e arresta due programmi.

Programma ARG 11
Programma ARG 22

Avvia il programma1

Avvia il programma2

Ritorno
Il programma chiamante può inviare due argomenti qualsiasi a questa funzione su cui si può agire
con START o STOP. È possibile avviare e arrestare qualsiasi oggetto (apparecchiatura) o programma.

04-20006-02-it, marzo 2019 Tecnico


1799
60 Programmazione di script
60.101 Funzioni di script che restituiscono un valore

60.101 Funzioni di script che restituiscono un valore


Oltre a ritornare al programma chiamante, RETURN può anche riportare i risultati di un
calcolo. Questi risultati sono: una variabile, una costante o un'espressione.
L'esempio seguente mostra una funzione che restituisce un valore. In questo caso,
l'istruzione RETURN contiene un'espressione. La funzione restituisce il valore di
quell'espressione al programma.

ARG1 Tmp1
ARG2Tmp2
ARG3Tmp3
ARG4Tmp4
Totale_Cambio numerico
Cambio_Totale = (Tmp1 - Tmp2) + (Tmp2 - Tmp3) + (Tmp3 - Tmp4)
Ritorno (Cambio_Totale/3)
Come mostrato di seguito, potresti anche assegnare all'espressione un nome di variabile locale.

ARG1 Tmp1

ARG2Tmp2
ARG3Tmp3
ARG4Tmp4
Numerico Total_Change, Mid_Change
Cambio_Totale = (Tmp1 - Tmp2) + (Tmp2 - Tmp3) + (Tmp3 - Tmp4)
Cambio_Medio = Cambio_Totale/3
Restituisce Mid_Change

Nota
• Utilizzare una variabile invece di un'espressione nell'istruzione RETURN perché il nome
della variabile, una volta creata, dovrebbe generalmente descriverne lo scopo.

Tecnico 04-20006-02-it, marzo 2019


1800
60 Programmazione di script
60.102 Funzioni e programmi di script

60.102 Funzioni e programmi di script


Crei una funzione proprio come crei un programma, utilizzando parole chiave Script
standard, quindi salvi quella funzione in un file.

Le funzioni eseguono attività o calcoli specifici che restituiscono un valore risultante. Sono
semplici e flessibili e possono far funzionare i programmi in modo molto più efficiente
eliminando attività ridondanti.

Se il tuo sistema esegue calcoli o processi complessi ripetutamente, puoi evitare di riscrivere
questi programmi ogni volta che ne hai bisogno rendendoli funzionanti. Puoi pensare a queste
funzioni come strumenti da utilizzare per creare programmi più grandi. Per determinare se hai
bisogno di una funzione, guarda i tipi di azioni che ripeti. Ad esempio, supponiamo di verificare
ripetutamente l'occupazione. È possibile creare una funzione che esegua l'attività, quindi
richiamarla quando necessario.

Un esempio di funzione è un loop PID. Alcuni cicli PID possono essere molto grandi e contenere
porzioni ingombranti di codice di programmazione. Invece di ingombrare un programma con il
codice PID, è possibile creare una funzione che contenga tutto il codice PID. Quando è necessario
utilizzare il loop PID, si chiama la funzione PID. Di conseguenza, il programma principale è molto più
piccolo e più facile da capire.

Le funzioni in un programma o in una funzione script vengono chiamate dichiarando una funzione all'inizio
del programma o della funzione in cui si desidera utilizzare tale funzione. Una variabile di funzione è un
nome che rappresenta una funzione di script. Qualsiasi chiamata di funzione che utilizza il nome della
variabile locale significa una chiamata alla funzione effettiva. Per ulteriori informazioni, vedere la sezione
60.103 “Dichiarazioni e istruzioni di funzioni” a pagina 1802.

Assicurarsi che qualsiasi variabile locale di tipo Funzione dichiarata in un programma o in una funzione sia
associata a un oggetto funzione effettivo. Se la variabile locale viene dichiarata, ma non associata
correttamente, il programma non viene eseguito.

60.102.1 Dichiarazioni e istruzioni di funzioni


A differenza dei programmi Script, le funzioni Script non supportano il concetto di linee come
unità di esecuzione. Invece, le funzioni Script sono costituite da dichiarazioni e istruzioni.

Per ulteriori informazioni, vedere la sezione 60.103 “Dichiarazioni e istruzioni di funzioni” a


pagina 1802.

04-20006-02-it, marzo 2019 Tecnico


1801
60 Programmazione di script
60.103 Dichiarazioni e istruzioni di funzioni

60.103 Dichiarazioni e istruzioni di funzioni


A differenza dei programmi Script, le funzioni Script non supportano il concetto di linee come
unità di esecuzione. Invece, le funzioni Script sono costituite da dichiarazioni e istruzioni.

Le dichiarazioni specificano gli argomenti accettati dalla funzione, seguiti dalle variabili
locali. Le istruzioni specificano le azioni che la funzione deve eseguire e devono essere
eseguite insieme. In genere, la funzione restituisce un valore al programma chiamante.

Le dichiarazioni degli argomenti iniziano con la parola chiave ARG. Ad esempio, la seguente funzione
di script di base, denominata miamedia, aggiunge 3 variabili e quindi ne determina la media.

Il commento facoltativo preceduto dalla virgoletta singola (') aiuta a spiegare il


funzionamento e lo scopo della funzione. Puoi inserire commenti all'inizio o alla
fine della dichiarazione o della funzione come desideri.

Figura: esempio di funzione

Una volta terminata la creazione della funzione, aggiungi una dichiarazione (1) e una chiamata di funzione
(2) nel programma designato per invocare quella funzione.

Tecnico 04-20006-02-it, marzo 2019


1802
60 Programmazione di script
60.103 Dichiarazioni e istruzioni di funzioni

Figura: Dichiarazione e chiamata di funzione

04-20006-02-it, marzo 2019 Tecnico


1803
60 Programmazione di script
60.104 Dichiarazione e chiamata di una funzione di script

60.104 Dichiarazione e chiamata di una funzione di script


È possibile dichiarare e chiamare una funzione Script in un programma Script o in un'altra funzione
Script. Ad esempio, si include una funzione come subroutine e si accede ad essa ripetutamente nello
stesso programma o in qualsiasi altro programma.

Per ulteriori informazioni, vedere la sezione 60.103 “Dichiarazioni e istruzioni di funzioni” a


pagina 1802.

Per dichiarare e chiamare una funzione Script

1. In Script Editor, dichiarare la funzione che si desidera chiamare utilizzando la parola chiave
Funzione prima del nome della funzione.

2. Aggiungere la chiamata di funzione.

Ora hai dichiarato e chiamato una funzione in un programma Script o in un'altra funzione
Script.

Tecnico 04-20006-02-it, marzo 2019


1804
60 Programmazione di script
60.105 Creazione di una funzione di script

60.105 Creazione di una funzione di script


Le funzioni Script vengono create in modo da poter programmare il codice che può essere utilizzato
in uno o più programmi o funzioni Script.

Per ulteriori informazioni, vedere la sezione 60.102 “Funzioni e programmi di script” a pagina
1801.

Per creare una funzione Script


1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il server
EcoStruxure BMS o la cartella in cui si desidera creare la funzione Script.

2. SulFilemenu, puntare aNuovoe quindi fare clicProgramma.

3. NelCrea oggettoprocedura guidata, nell'elenco dei tipi di oggetto, selezionareFunzione di sceneggiatura.

4. NelNomecasella, digitare un nome per la funzione Script.


5. NelDescrizionecasella, digitare una descrizione per la funzione Script.

6. Fare clicCreare.

04-20006-02-it, marzo 2019 Tecnico


1805
60 Programmazione di script
60.106 Dichiarazione di un argomento di funzione di script

60.106 Dichiarazione di un argomento di funzione di script


Dichiari gli argomenti all'inizio della funzione Script in cui vengono utilizzati. I valori degli
argomenti vengono forniti dal programma o dalla funzione script chiamante.

Per ulteriori informazioni, vedere la sezione 60.103 “Dichiarazioni e istruzioni di funzioni” a


pagina 1802.

Per dichiarare un argomento della funzione Script

1. In Script Editor, dichiarare gli argomenti della funzione Script utilizzando la parola
chiave ARG.

Ora hai dichiarato gli argomenti nella funzione Script. Ora puoi aggiungere una o
più istruzioni che specificano le operazioni da eseguire.

Tecnico 04-20006-02-it, marzo 2019


1806
60 Programmazione di script
60.107 Controllo e salvataggio di una funzione di script

60.107 Controllo e salvataggio di una funzione di script


Controlla la funzione Script per assicurarti che non ci siano errori di sintassi. Si esegue
un'operazione di salvataggio per verificare e quindi salvare la funzione Script.

Per ulteriori informazioni, vedere la sezione 60.102 “Funzioni e programmi di script” a pagina
1801.

Per controllare e salvare una funzione Script

1. Nell'editor di script, fare clic suControllo.


2. NelControlloriquadro, fare doppio clic su un messaggio di errore per passare alla riga di codice
che contiene l'errore.

3. Fare clicSalvaper controllare e salvare la funzione Script.


Ora hai controllato e salvato la tua funzione Script.
L'editor di script visualizza il fileSalvataggio eseguito con successomessaggio, anche se la
funzione contiene errori e non viene compilata correttamente.

Se salvi una funzione che contiene errori, quella funzione non verrà eseguita. La funzione deve
avere un controllo positivo prima dell'esecuzione.

04-20006-02-it, marzo 2019 Tecnico


1807
60 Programmazione di script
60.108 Funzioni di sistema

60.108 Funzioni di sistema


Le funzioni di sistema eseguono una serie particolare di calcoli o azioni e possono restituire
uno o più valori specifici, come Somma, Quadrato, Lunghezza e Avg.

Ad esempio, la funzione di sistema SQRT restituisce la radice quadrata di un determinato numero:

Risultato = SQRT (25)

Tra parentesi è racchiuso il numero su cui opera la funzione (25). Questa


funzione restituisce il valore 5.

60.108.1 Parole chiave per le funzioni del sistema


Lo script utilizza i seguenti tipi di parole chiave delle funzioni di sistema:

• Funzioni variabili bufferizzate

• Funzioni di conversione

• Funzioni matematiche
• Funzioni degli oggetti

• Funzione superata

• Funzioni di arrotondamento

• Funzioni statistiche
• Funzioni di stringa

• Funzioni temporali

• Funzioni trigonometriche
Per ulteriori informazioni, vedere la sezione 60.109 “Parole chiave delle funzioni di sistema” a pagina
1809.

Tecnico 04-20006-02-it, marzo 2019


1808
60 Programmazione di script
60.109 Parole chiave delle funzioni di sistema

60.109 Parole chiave delle funzioni di sistema


Le funzioni di sistema eseguono una serie particolare di calcoli o azioni e possono restituire
uno o più valori specifici, come Somma, Quadrato, Lunghezza e Avg.

Lo script utilizza i seguenti tipi di parole chiave delle funzioni di sistema:

• Funzioni variabili bufferizzate

• Funzioni di conversione

• Funzioni matematiche
• Funzioni degli oggetti

• Funzione superata

• Funzioni di arrotondamento

• Funzioni statistiche
• Funzioni di stringa

• Funzioni temporali

• Funzioni trigonometriche

60.109.1 Funzioni variabili bufferizzate


Le funzioni variabili memorizzate nel buffer eseguono operazioni relative alle variabili di input.

Per ulteriori informazioni, vedere la sezione 60.110 “Funzioni delle variabili memorizzate nel buffer” a pagina
1813.

60.109.2 Funzioni di conversione


Le funzioni di conversione convertono variabili numeriche o stringa. Le

funzioni di conversione includono le seguenti parole chiave:

• NUMTOSTR
• STRTODATA
• STRTONUM
Per ulteriori informazioni, vedere la sezione 60.113 “Funzioni di conversione” a pagina 1817...

60.109.3 Funzioni matematiche


Le funzioni matematiche eseguono operazioni matematiche. Le

funzioni matematiche includono le seguenti parole chiave:

• ADDOMINALI

• ESPONENZIALE
• FATTORIALE
• LN

04-20006-02-it, marzo 2019 Tecnico


1809
60 Programmazione di script
60.109 Parole chiave delle funzioni di sistema

• TRONCO D'ALBERO

• CASUALE
• SQRT
• SOMMA

Per ulteriori informazioni, vedere la sezione 60.117 “Funzioni matematiche” a pagina


1822...

60.109.4 Funzioni degli oggetti


Le funzioni oggetto eseguono operazioni su oggetti matematici. Le funzioni

dell'oggetto includono le seguenti parole chiave:

• LeggiProprietà
• Rinunciare
• Proprietà di scrittura

Per ulteriori informazioni, vedere la sezione 60.126 “Funzioni oggetto” a pagina 1833...

60.109.5 Funzione PASSATA


La parola chiave della funzione PASSED indica se l'argomento con arg_number è stato passato
o meno alla funzione corrente. Restituisce VERO (1 numerico) se l'argomento viene
effettivamente passato e FALSO (0 numerico) in caso contrario.

Per ulteriori informazioni, vedere la sezione 60.130 “Funzione PASSED” a pagina 1838..

60.109.6 Funzioni di arrotondamento


Le funzioni di arrotondamento arrotondano i numeri all'intero successivo e quindi restituiscono i valori. Le

funzioni di arrotondamento includono le seguenti parole chiave:

• SOFFITTO
• PAVIMENTO

• GIRARE
• TRONCARE
Per ulteriori informazioni, vedere la sezione 60.131 “Funzioni di arrotondamento” a pagina 1839...

60.109.7 Funzioni statistiche


Le funzioni statistiche eseguono operazioni statistiche. Le

funzioni statistiche includono le seguenti parole chiave:

• MEDIA
• MASSIMO
• MAXITEM

Tecnico 04-20006-02-it, marzo 2019


1810
60 Programmazione di script
60.109 Parole chiave delle funzioni di sistema

• MINIMO
• MINITEM
• Deviazione standard
Per ulteriori informazioni, vedere la sezione 60.136 “Funzioni statistiche” a pagina 1844...

60.109.8 Funzioni di stringa


Le funzioni stringa eseguono operazioni relative alle stringhe. Le

funzioni stringa includono le seguenti parole chiave:

•ASC
• CHR
• SINISTRA

• LUNGHEZZA

• METÀ
• GIUSTO
• RICERCA
• RIEMPIMENTO STRINGA

• TAB
Per ulteriori informazioni, vedere la sezione 60.143 “Funzioni stringa” a pagina 1857...

60.109.9 Funzioni temporali


Le funzioni temporali eseguono operazioni relative al tempo.

Le funzioni temporali includono le seguenti parole chiave:

• DIFFICILE TEMPO

• OROLOGIO
Per ulteriori informazioni, vedere la sezione 60.154 “Funzioni temporali” a pagina 1870.. .

60.109.10 Funzioni trigonometriche


Le funzioni trigonometriche restituiscono l'arcocoseno, l'arcotangente e l'arcoseno di determinati
numeri.

Le funzioni trigonometriche includono le seguenti parole chiave:

• ACOS
• COME IN

• UN'ABBRONZATURA

•ATAN2
• COS
• PECCATO

04-20006-02-it, marzo 2019 Tecnico


1811
60 Programmazione di script
60.109 Parole chiave delle funzioni di sistema

• ABBRONZATURA

Per ulteriori informazioni, vedere la sezione 60.157 “Funzioni trigonometriche” a pagina


1874.. .

Tecnico 04-20006-02-it, marzo 2019


1812
60 Programmazione di script
60.110 Funzioni variabili bufferizzate

60.110 Funzioni variabili bufferizzate


Le funzioni variabili memorizzate nel buffer eseguono operazioni relative alle variabili di input.

60.110.1 OttieniBufferSize
GetBufferSize restituisce la dimensione del buffer corrente (ovvero il numero di valori memorizzati nel buffer) di una variabile
di input memorizzata nel buffer passata.

Per ulteriori informazioni, vedere la sezione 60.111 “GetBufferSize” a pagina 1814.

60.110.2 Ottieni valore bufferizzato


GetBufferedValue ottiene il successivo valore disponibile della variabile di input memorizzata nel
buffer passata. Questa funzione restituisce Success o Failure.

Per ulteriori informazioni, vedere la sezione 60.112 “GetBufferedValue” a pagina 1816.

04-20006-02-it, marzo 2019 Tecnico


1813
60 Programmazione di script
60.111 Ottieni dimensione buffer

60.111 OttieniBufferSize
GetBufferSize restituisce la dimensione del buffer corrente (ovvero il numero di valori memorizzati nel buffer) di una variabile
di input memorizzata nel buffer passata.

GetBufferSize non è supportato nel controller serie MP.

Nota
Un valore restituito pari a 0 indica che l'argomento passato non è una variabile di input memorizzata nel
buffer o che non esiste alcun valore della variabile di input memorizzata nel buffer. Se vengono passati
due o più argomenti, il programma va alla riga E, se ne esiste uno. Quando il programma va alla riga E,
indica che si è verificato un errore.

Sintassi
Ottieni dimensione buffer (nome_variabile)

Tabella: parametro GetBufferSize


Parametro Descrizione

nome_variabile Il nome della variabile di input passata di cui


stai interrogando la dimensione del buffer.

Esempio
È possibile utilizzare il seguente programma per controllare la dimensione del buffer e, se il
numero di elementi nel buffer supera 15, svuotare il buffer.

File di programma

Tecnico 04-20006-02-it, marzo 2019


1814
60 Programmazione di script
60.111 Ottieni dimensione buffer

Nota
Questo programma, [Link], è incluso nella cartella Sample Import Files nella
Code Library. Per ulteriori informazioni, vedere la sezione 61.24 “Utilizzo dei file di importazione di
esempio della libreria di codici” a pagina 1919.

04-20006-02-it, marzo 2019 Tecnico


1815
60 Programmazione di script
60.112 Ottieni valore bufferizzato

60.112 Ottieni valore bufferizzato


GetBufferedValue ottiene il successivo valore disponibile della variabile di input memorizzata nel
buffer passata. Questa funzione restituisce Success o Failure.

GetBufferValue non è supportato nel controller della serie MP.

Nota
Se il valore restituito è zero, non è una variabile di input memorizzata nel buffer. Se vengono passati
due o più argomenti, il programma viene disabilitato o passa alla riga E se ne esiste una. Quando il
programma passa alla riga E, indica che si è verificato un errore.

Sintassi
Ottieni valore bufferizzato (nome_variabile)

Tabella: parametro GetBufferedValue


Parametro Descrizione

nome_variabile Il nome della variabile di input passata di cui


desideri determinare il prossimo valore
disponibile.

Esempio
In questo esempio si dichiarano due variabili di ingresso bufferizzate (BIn1 e BIn2) e due variabili di uscita.
BIn1 ha lo stesso valore ogni volta che viene utilizzato come previsto finché non viene effettuata una
chiamata alla funzione GetBufferedValue per ottenere il successivo valore memorizzato nel buffer. In questo
esempio viene verificato se sono presenti valori memorizzati nel buffer per BIn1 chiamando la funzione
GetBufferSize e assicurandosi che il numero di valori memorizzati nel buffer sia maggiore di zero. Quindi,
ottiene il successivo valore disponibile dal buffer. BIn1 assume il valore appena ottenuto.

File di programma

Ingresso numerico bufferizzato BIn1


Ingresso numerico bufferizzato BIn2
Uscita numerica Out1
Uscita numerica Out2
Uscita1 = BIn1 + BIn1
Uscita2 = 0
Mentre GetBufferSize (BIn2) > 0
se GetBufferedValue (BIn2) = Success allora Out2 = Out2 +
Bin2 'aggiungi tutti i valori memorizzati nel buffer Endif

FineMentre

Tecnico 04-20006-02-it, marzo 2019


1816
60 Programmazione di script
60.113 Funzioni di conversione

60.113 Funzioni di conversione


Le funzioni di conversione convertono variabili numeriche o stringa.

60.113.1 NUMTOSTR
NUMTOSTR converte un numero in una variabile numerica o in un'altra forma numerica in una variabile stringa in
modo che il numero possa essere utilizzato nelle operazioni sulle stringhe. NUMTOSTR restituisce il valore della
stringa convertita.

Per ulteriori informazioni, vedere la sezione 60.114 “NUMTOSTR” a pagina 1818...

60.113.2 STRTODATA
STRTODATE restituisce un datetime che corrisponde alla data e all'ora specifiche
specificate in date_time. Il controller ha un numero univoco per ogni momento
comprensibile nel tempo.
Per ulteriori informazioni, vedere la sezione 60.115 “STRTODATE” a pagina 1819..

60.113.3 STRTONUM
STRTONUM converte una stringa che contiene un numero in una variabile stringa o in un altro
formato stringa in una variabile numerica da utilizzare nelle operazioni matematiche. StrToNum
restituisce il valore numerico convertito.

Per ulteriori informazioni vedere la sezione 60.116 “STRTONUM” a pagina 1821..

04-20006-02-it, marzo 2019 Tecnico


1817
60 Programmazione di script
60.114 NUMTOSTR

60.114 NUMTOSTR
NUMTOSTR converte un numero in una variabile numerica o in un'altra forma numerica in una variabile stringa in
modo che il numero possa essere utilizzato nelle operazioni sulle stringhe. NUMTOSTR restituisce il valore della
stringa convertita.

Sintassi
NumToStr (numero )

Tabella: parametro NUMTOSTR


Parametro Descrizione

numero Qualsiasi numero o espressione.

Un numero in una variabile stringa può essere utilizzato nelle


operazioni sulle stringhe.

Esempi
Il seguente programma traduce il numero 240 in una stringa:
Program File

Trans
Trans = NumToStr (240)
Stampa TRANS
TRANS non è più numerico e non può essere utilizzato nei calcoli.

Tecnico 04-20006-02-it, marzo 2019


1818
60 Programmazione di script
60.115 STRTODATA

60.115 STRTODATA
Alias: STRTOTIME
STRTODATE restituisce un datetime che corrisponde alla data e all'ora specifiche
specificate in date_time. Il controller ha un numero univoco per ogni momento
comprensibile nel tempo.
Il sistema utilizza questo date_time per elaborare le informazioni su data e
ora. Se stampi una variabile uguale a STRTODATE, ricevi date_time.

Nota
Tieni presente che STRTODATE converte una stringa di testo nell'ora locale anziché in quella UTC.

Per ricevere la data e l'ora da STRTODATE, è necessario inserire sia la data che l'ora
in una riga di input continua. Se preferisci, puoi posizionare l'ora prima della data
su quella riga.
Puoi impostare la data in qualsiasi formato ragionevolmente interpretabile, utilizzando tutti i
numeri o scrivendo il mese come parola intera o come abbreviazione di tre lettere. Puoi anche
separare il mese, il giorno e l'anno con spazi, barre, trattini, punti, virgole o qualsiasi
combinazione di questi caratteri di punteggiatura.

GIORNO e MESE Se preferisci mettere il giorno al primo posto, assicurati che il giorno sia ovviamente un giorno. Ci
sono due modi in cui un giorno non può essere interpretato erroneamente come un mese:

• Scrivi il mese come una parola in modo che il giorno sia l'unico altro numero così basso.

• Utilizzare i numeri sia per il mese che per il giorno solo se il giorno è maggiore di 12, poiché qualsiasi
numero compreso tra 1 e 12 potrebbe essere un mese.

Il mese può essere una delle seguenti opzioni:


• GENNAIO]
• FEBBRAIO]
• MARZO]
• APR[IL]
• MAGGIO

• GIUGNO]

• LUGLIO]

• AGOSTO]
• SETTEMBRE[TEMBRE]

• OTTOBRE[OBRE]

• NOVEMBRE[EMBRE]

• DICEMBRE]
ANNO
È necessario inserire l'anno come anno a quattro cifre dopo il 2008. GIORNO

SETTIMANALE

Poiché il controller conosce già il giorno della settimana che corrisponde a ciascuna data, non è
necessario specificare il giorno. È tuttavia possibile posizionare il giorno della settimana dopo la
data. Il giorno della settimana deve essere l'abbreviazione di tre lettere oppure il nome del giorno
completamente scritto.

04-20006-02-it, marzo 2019 Tecnico


1819
60 Programmazione di script
60.115 STRTODATA

Il giorno della settimana può essere una delle seguenti opzioni:

• LUNEDI]
• MARTEDÌ]
• MERCOLEDÌ]
• GIOVEDÌ]
• VENERDÌ]
• SABATO]
• DOMENICA]
TEMPO

Immettere l'ora come ora a una o due cifre e minuti a una o due cifre separati
da due punti. Puoi digitare altri due punti e seguire i due punti con i secondi.

È possibile inserire l'ora nel formato 24 ore o utilizzare l'ora normale con AM o PM
successivi. Il controller traduce quell'ora nell'orologio a 24 ore. Ad esempio, puoi inserire
15:00 che il controller traduce automaticamente in 15:00:00.
Sono accettabili i seguenti formati:
• hh:mm:ss [AM/PM]
• hh:mm [AM/PM]
Dove AM e PM (maiuscole o minuscole) sono facoltativi e sono vere le seguenti condizioni:

• hh sono le ore (00 – 23)

• mm sono i minuti (00 – 59)

• ss indica i secondi (00 – 59)

Sintassi
StrToDate (appuntamento)

Tabella: parametro STRTODATE


Parametro Descrizione

appuntamento Qualsiasi data e ora effettive in una stringa


(racchiusa tra virgolette) o un nome che
rappresenta una data e un'ora.

Esempi
File di programma

CONV_DATE = StrToDate ('21 SETTEMBRE 2000 23:00')

Tecnico 04-20006-02-it, marzo 2019


1820
60 Programmazione di script
60.116 STRTONUM

60.116 STRTONUM
Alias: VAL
STRTONUM converte una stringa che contiene un numero in una variabile stringa o in un altro
formato stringa in una variabile numerica da utilizzare nelle operazioni matematiche. StrToNum
restituisce il valore numerico convertito.

Una volta che un numero si trova in una variabile numerica, il numero può essere utilizzato in espressioni
e operazioni matematiche.

Sintassi
NumStrTo (corda)

Tabella: Parametro STRTONUM


Parametro Descrizione

corda Qualsiasi numero in forma di stringa (tra virgolette) o


espressione di stringa che rappresenta un numero in
forma di testo.

Se la stringa non è un numero o una serie di


numeri validi, STRTONUM fallisce. Se STRTONUM
fallisce, il programma passa a LINE E (vedi parola
chiave LINE) o si disattiva.

Esempi
Se ricevi un input di stringa dalla tastiera, ma desideri che l'input sia numerico in
modo da poter aggiungere un altro numero, usi STRTONUM. Il seguente programma
aggiunge la stringa (tra virgolette) che contiene 78,5 al numero 92,8:
File di programma

Trasf. numerico
Trans = StrToNum ("78,5") + 92,8
Produzione
171.3

04-20006-02-it, marzo 2019 Tecnico


1821
60 Programmazione di script
60.117 Funzioni matematiche

60.117 Funzioni matematiche


Le funzioni matematiche eseguono operazioni matematiche.

60.117.1 addominali

ABS restituisce il valore assoluto del numero. Il valore assoluto di qualsiasi


numero, positivo o negativo, è sempre il numero positivo.
Per ulteriori informazioni, vedere la sezione 60.118 “ABS” a pagina 1824..

60.117.2 ESPONENZIALE
ESPONENZIALE restituisce un valore pari alla base e elevata alla potenza numerica. Per

ulteriori informazioni, vedere la sezione 60.119 “ESPONENZIALE” a pagina 1825..

60.117.3 FATTORIALE
FACTORIAL restituisce il fattoriale di espressione_intera.
Per ulteriori informazioni, vedere la sezione 60.120 “FACTORIALE” a pagina 1826..

60.117.4 LN
LN restituisce il logaritmo naturale di qualsiasi espressione_numero. Per

ulteriori informazioni, vedere la sezione 60.121 “LN” a pagina 1827..

60.117.5 TRONCO D'ALBERO

LOG restituisce il logaritmo in base 10 di espressione_intera. Per ulteriori

informazioni, vedere la sezione 60.122 “LOG” a pagina 1828..

60.117.6 CASUALE
RANDOM restituisce un numero casuale compreso tra 0 e 32.767 utilizzando numero. Random viene
utilizzato per simulare valori reali per testare i programmi.

Per ulteriori informazioni, vedere la sezione 60.123 “RANDOM” a pagina 1829..

60.117.7 SQRT
SQRT restituisce la radice quadrata del numero.

Tecnico 04-20006-02-it, marzo 2019


1822
60 Programmazione di script
60.117 Funzioni matematiche

Per ulteriori informazioni, vedere la sezione 60.124 “SQRT” a pagina 1830..

60.117.8 SOMMA

SUM restituisce la somma degli elementi elencati (sintassi 1), la somma di un array (sintassi 2) o la
somma di un log numerico (sintassi 3).

Per ulteriori informazioni, vedere la sezione 60.125 “SOMMA” a pagina 1831.

04-20006-02-it, marzo 2019 Tecnico


1823
60 Programmazione di script
60.118 ABS

60.118 addominali

ABS restituisce il valore assoluto del numero. Il valore assoluto di qualsiasi


numero, positivo o negativo, è sempre il numero positivo.

Sintassi
ADDOMINALI (numero)

Tabella: Parametro ABS


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
Trovi il valore assoluto di -3 come segue: File di

programma

Risultato=ABS(-3)
Questa istruzione imposta RESULT su 3.

Per mantenere la temperatura impostata entro più o meno 3 gradi, quando la temperatura cambia
in entrambe le direzioni, la ventola deve attivare il riscaldamento o il raffreddamento a seconda delle
necessità.

In questa situazione, dovresti trovare il valore assoluto della modifica per controllare la ventola. Che
il cambiamento sia positivo o negativo non fa alcuna differenza.

Esempio 2
File di programma

Se ABS(Temp_SP - Temp_2) >= 3, eseguire Fan_2

Tecnico 04-20006-02-it, marzo 2019


1824
60 Programmazione di script
60.119 ESPONENZIALE

60.119 ESPONENZIALE
Alias: ESP
ESPONENZIALE restituisce un valore pari alla base e elevata alla potenza numerica.

Sintassi
esponenziale (numero)

Tabella: Parametro ESPONENZIALE


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
File di programma

EVAL = Esponenziale (0)


Il risultato di e elevato a 0 è 1. Poiché la funzione ESPONENZIALE restituisce 1, EVAL è
impostato su 1.
Esempio 2
File di programma

R_VAL = Esponenziale (-1)


Il risultato di e elevato a -1 è 0,368, quindi R_VAL è impostato su 0,368.

04-20006-02-it, marzo 2019 Tecnico


1825
60 Programmazione di script
60.120 FATTORIALE

60.120 FATTORIALE
Alias: FATTO

FACTORIAL restituisce il fattoriale di espressione_intera.

Sintassi
Fattoriale (espressione_intera)

Tabella: Parametri FATTORIALI


Parametro Descrizione

espressione_intera Fattoriale (espressione_intera)

integer_expression è un numero intero maggiore o uguale a zero. Il numero


più grande su cui puoi usare FACTORIAL è 34.

Esempi
La seguente istruzione imposta FVAL sul risultato del fattoriale 3: File di

programma

FVAL = Fattoriale (3)


La funzione restituisce 6, quindi FVAL = 6.

Tecnico 04-20006-02-it, marzo 2019


1826
60 Programmazione di script
60.121 LN

60.121 LN
LN restituisce il logaritmo naturale di qualsiasi espressione_numero.

Sintassi
LN (numero_espressione)

Tabella: Parametro LN
Parametro Descrizione

espressione_intera Qualsiasi numero diverso da zero.

Esempi
File di programma

LGVAL = LN(3.2)
Il log naturale viene restituito e inserito in LGVAL.

04-20006-02-it, marzo 2019 Tecnico


1827
60 Programmazione di script
60.122 LOG

60.122 TRONCO D'ALBERO

LOG restituisce il logaritmo in base 10 di espressione_intera.

Sintassi
TRONCO D'ALBERO (numero_espressione)

Tabella: Parametro LOG


Parametro Descrizione

espressione_intera Un numero intero maggiore di zero.

Esempi
File di programma

Risultato = LOG(10)
Questa istruzione imposta RESULT uguale a 1.

Tecnico 04-20006-02-it, marzo 2019


1828
60 Programmazione di script
60.123 CASUALE

60.123 CASUALE
Alias: RND
RANDOM restituisce un numero casuale compreso tra 0 e 32.767 utilizzando numero. Random viene
utilizzato per simulare valori reali per testare i programmi.

È necessario variare il numero per generare sequenze casuali diverse. Se non si varia il
numero, è possibile osservare uno schema ripetitivo di valori emergere nel tempo.

Sintassi
Casuale (numero)

Tabella: Parametro RANDOM


Parametro Descrizione

numero Qualsiasi numero o espressione.

Puoi omettere il numero, ma le parentesi sono


obbligatorie, come per tutte le funzioni.

Esempi
Per simulare fluttuazioni di temperatura tra 50 e 70 gradi, inserisci un numero qualsiasi
nel numero. Per generare un risultato nell'intervallo di 20 temperature possibili, dividi il
numero casuale generato per 32767, che ti dà un numero compreso tra 0 e 1. Quindi
moltiplica il risultato per 20. Infine, aggiungi 50 gradi per impostare il fondo del
allineare.
File di programma

Casuale (8)/32767 volte 20


Infine aggiungi il fondo dell'intervallo che stai cercando di simulare al numero
casuale:
File di programma

Temp = (Casuale (8)/32767 volte 20) + 50

04-20006-02-it, marzo 2019 Tecnico


1829
60 Programmazione di script
60.124 QUADRATI

60.124 SQRT
SQRT restituisce la radice quadrata del numero.

Sintassi
SQRT (numero)

Tabella: parametro SQRT


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
File di programma

MVAL = SQRT (4)


La funzione SQRT restituisce 2 e l'istruzione imposta MVAL su 2.

Tecnico 04-20006-02-it, marzo 2019


1830
60 Programmazione di script
60.125 SOMMA

60.125 SOMMA

SUM restituisce la somma degli elementi elencati (sintassi 1), la somma di un array (sintassi 2) o la
somma di un log numerico (sintassi 3).

Gli elementi nell'elenco devono essere tutti numeri o variabili che contengono numeri.

Se uno qualsiasi degli elementi nell'elenco nella sintassi 1 è un array o un log, il controller recupera il
primo elemento dall'array o dal log e lo tratta come qualsiasi altro elemento nell'elenco.

Sintassi
Formato 1:Somma (elenco_numerico)

Formato 2:Somma (array_numerico)

Formato 3:Somma (registro_numerico)

Tabella: parametri SOMMA

Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri, separati da virgole.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Esempi
Esempio 1
Per sommare più timer, inserirli direttamente nell'istruzione della funzione SUM. Li
elenchi tra parentesi dopo SUM, come segue:
File di programma

Total_Timer = Somma (Timer1, Timer2. Timer3, Timer4) Esempio


2
Hai memorizzato i valori calcolati in un array chiamato PARTTME. Quindi usi la
somma su quell'array, come segue:
File di programma

TotalTime = Somma (PartTime)


Esempio 3
Hai registrato le temperature in un registro per diverse ore. Per trovarne la
somma, trovi la somma di quel log, come segue:
File di programma

HourlyTot = Somma (TempLog)


Esempio 4
Troverai la somma di diverse temperature in un elenco, incluso il valore corrente di
TEMPLOG, come segue:

File di programma

Media oraria = Somma (Tmp801, Tmp802, TempLog)

04-20006-02-it, marzo 2019 Tecnico


1831
60 Programmazione di script
60.125 SOMMA

In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Tecnico 04-20006-02-it, marzo 2019


1832
60 Programmazione di script
60.126 Funzioni oggetto

60.126 Funzioni degli oggetti


Le funzioni oggetto eseguono operazioni su oggetti matematici.

60.126.1 LeggiProprietà
ReadProperty recupera il valore di una proprietà di un oggetto BACnet. Per ulteriori

informazioni, vedere la sezione 60.127 “ReadProperty” a pagina 1834...

60.126.2 Rinuncia
Abbandona abbandona un comando. (Puoi anche utilizzare WriteProperty e non passare alcun
argomento per il valore).

Per ulteriori informazioni, vedere la sezione 60.128 “Rinuncia” a pagina 1835..

60.126.3 WriteProperty
WriteProperty imposta il valore di una proprietà di un oggetto BACnet. Il valore restituito
è SUCCESSO o FALLIMENTO.
Per ulteriori informazioni, vedere la sezione 60.129 “WriteProperty” a pagina 1836..

04-20006-02-it, marzo 2019 Tecnico


1833
60 Programmazione di script
60.127 LeggiProprietà

60.127 LeggiProprietà
ReadProperty recupera il valore di una proprietà di un oggetto BACnet.

Sintassi
LeggiProprietà (oggetto_proprietà)

Tabella: parametri ReadProperty


Parametro Descrizione

var. locale Questo è legato alla proprietà dell'oggetto.

Se un indice viene passato come secondo argomento, quando si tenta di leggere un valore con una
certa priorità di comando, viene semplicemente ignorato.

Per i programmi EcoStruxure BMS Script, è possibile stabilire un collegamento direttamente alla priorità
del comando desiderato.

Per i programmi Script del dispositivo BACnet b3, è possibile stabilire solo un'associazione alla
proprietà valore e qualsiasi indice viene sempre ignorato.

Prodotti supportati
Controller serie b3, server EcoStruxure BMS

Esempi
Esempio 1
Utilizza ReadProperty per ottenere un valore di proprietà, senza designare il nome della proprietà:

Ingresso numerico AV1

Temp. numerica
Temp = LeggiProprietà (AV1)
Esempio 2
Utilizza ReadProperty per ottenere la descrizione di un punto analogico e posizionarla in un punto
stringa:

Stringa Input AV1_Descrizione


Stringa StringPoint
StringPoint = ReadProperty (AV1_Description)

Tecnico 04-20006-02-it, marzo 2019


1834
60 Programmazione di script
60.128 Rinuncia

60.128 Rinuncia
Abbandona abbandona un comando. (Puoi anche utilizzare WriteProperty e non passare alcun
argomento per il valore).

Un programma applicativo o un operatore invia un comando per scrivere sulla proprietà


comandabile di un oggetto BACnet oppure abbandona un comando emesso in precedenza.

Un'operazione di rinuncia è simile a un'operazione WriteProperty, tranne per il fatto che inserisce un valore
NULL in Priority_Array corrispondente alla priorità appropriata. Quando ciò si verifica, la priorità
immediatamente inferiore, la posizione diversa da NULL, assume il controllo della proprietà.

Se tutti gli elementi dell'array della tabella priorità sono NULL, la proprietà
comandabile assume quella definita nella proprietà Relinquish Default dell'oggetto.

Nota
• Valore attuale è la proprietà comandabile per le seguenti classi: Uscita analogica,
Uscita binaria, Uscita multistato, Valore analogico, Valore multistato, Valore
binario.

Sintassi
Rinunciare (proprietà_oggetto, priorità)

Tabella: parametri di rinuncia


Parametro Descrizione

var. locale Vincolato alla proprietà dell'oggetto.

priorità Numero di priorità, compreso tra 1 (più alto) e 16


(più basso).

Ciò si applica solo a una proprietà comandabile BACnet.


Per i controller: se non presente, viene utilizzato il
valore della proprietà che corrisponde alla priorità 16,
se applicabile.

Prodotti supportati
Controller serie b3, server EcoStruxure BMS

Esempio
Utilizzare Relinquish per abbandonare l'ultimo comando emesso con priorità 5. Questa istruzione
inserisce un NULL nella quinta voce dell'array di priorità (distorto da 1):

Uscita numerica AV1


Abbandono (AV1,5)

04-20006-02-it, marzo 2019 Tecnico


1835
60 Programmazione di script
60.129 Proprietà di scrittura

60.129 Proprietà di scrittura


WriteProperty imposta il valore di una proprietà di un oggetto BACnet. Il valore restituito
è SUCCESSO o FALLIMENTO.

Sintassi
Proprietà di scrittura (proprietà_oggetto, valore, priorità, indice)

Tabella: parametri WriteProperty


Parametro Descrizione

var. locale Legato a una proprietà dell'oggetto.

L'identificatore dell'oggetto e l'identificatore della proprietà


vengono combinati come un unico argomento.

valore Valore effettivo su cui è impostata la proprietà.

Questo è facoltativo. Se non è presente,


l'argomento successivo, priorità, deve essere
presente per eseguire un comando Rinuncia.

priorità Numero di priorità, compreso tra 1 (più alto) e 16


(più basso).

Questo è facoltativo. Si applica solo a una


proprietà comandabile BACnet.

Per i controller: se non è presente, viene utilizzata la


priorità 10, se applicabile.

indice Questo è facoltativo. Si applica solo a una


proprietà BACnet di tipo array. L'indice viene
ignorato ogni volta che non è applicabile.

Prodotti supportati
Controller serie b3, server EcoStruxure BMS

Esempi
Esempio 1
Utilizzare WriteProperty per impostare il valore analogico di un oggetto su

100. 'La proprietà Valore è presupposta Uscita Numerica AV1

Proprietà di scrittura (AV1, 100)


Esempio 2
Utilizza WriteProperty per impostare la proprietà Present_Value di un oggetto su 100, utilizzando la
priorità 5:

Uscita numerica AV1


Proprietà di scrittura (AV1, 100, 5)
Esempio 3
Utilizza WriteProperty per abbandonare un comando utilizzando la priorità 5:

Tecnico 04-20006-02-it, marzo 2019


1836
60 Programmazione di script
60.129 Proprietà di scrittura

'Il valore non viene trasmesso; Ciò equivale a rinunciare all'uscita


numerica AV1
Proprietà di scrittura (AV1, , 5)

Eccezioni
Quando un programma server EcoStruxure BMS utilizza la parola chiave WriteProperty per
impostare il valore di un oggetto BACnet (compresi gli oggetti b3), il valore viene sempre scritto con
priorità 16. Ad esempio, se si associa l'output del programma a un valore analogico in $SERVER/
Dispositivo/applicazione BACnet e lo si aggiunge a un'attività, il valore viene scritto nella priorità 16
dell'uscita analogica.

Per scrivere su una priorità specifica in un oggetto BACnet da un programma server EcoStruxure
BMS, il programma deve essere associato direttamente alla priorità su cui si desidera scrivere. Ciò
significa che alla priorità non viene più passato un argomento come mostrato negli esempi che
seguono.

'associato al valore analogico BACnet AV1 Priorità 5


Uscita numerica x
Numerico a
'inserisce il valore di 100 nello slot WriteProperty con
priorità 5 AV1 (x, 100)
'inserisce il valore di AV1 Priorità 5 nella variabile aa =
ReadProperty (x)
'rinuncia al valore AV1 Priorità 5 Rinuncia (x)

'rinuncia al valore AV1 Priorità 5


'L'argomento Valore non viene passato alla funzione
WriteProperty '
Proprietà di scrittura (x, )
Proprietà di scrittura (x)

04-20006-02-it, marzo 2019 Tecnico


1837
60 Programmazione di script
60.130 Funzione PASSATA

60.130 Funzione PASSATA


La parola chiave della funzione PASSED indica se l'argomento con arg_number è stato passato
o meno alla funzione corrente. Restituisce VERO (1 numerico) se l'argomento viene
effettivamente passato e FALSO (0 numerico) in caso contrario.

Sintassi
Passato (numero_arg)

Tabella: Parametro SUPERATO

Parametro Descrizione

numero_arg Restituisce VERO (1 numerico) se l'argomento viene


effettivamente passato e FALSO (0 numerico) in caso
contrario.

Esempi
Puoi creare una funzione che accetta un argomento e controlla se l'argomento viene
passato. La funzione seguente restituisce il numero dell'argomento che ha il valore più alto
e restituisce anche dopo aver trovato il primo argomento che non è stato passato. La
funzione denominata MAXITEM, predefinita nel linguaggio, si presenta così:

File di funzioni

Conteggio numerico, Lastmax


Ultimomax = 1

Per Conteggio = da 1 a 15

Se non (Passato (Count)) allora restituisce (Lastmax) Se


ARG[Count] > Lastmax allora Lastmax = Count Conteggio
successivo

Tecnico 04-20006-02-it, marzo 2019


1838
60 Programmazione di script
60.131 Funzioni di arrotondamento

60.131 Funzioni di arrotondamento


Le funzioni di arrotondamento arrotondano i numeri all'intero successivo e quindi restituiscono i valori.

60.131.1 SOFFITTO
CEILING arrotonda un numero all'intero successivo più grande sulla linea numerica e restituisce tale
intero.

Per ulteriori informazioni, vedere la sezione 60.132 “SOFFITTO” a pagina 1840..

60.131.2 PAVIMENTO

FLOOR restituisce il successivo intero più piccolo sulla linea numerica e restituisce quell'intero. Per

ulteriori informazioni, vedere la sezione 60.133 “PAVIMENTO” a pagina 1841..

60.131.3 GIRARE
ROUND arrotonda un numero all'intero più vicino e restituisce quel valore. Per

ulteriori informazioni, vedere la sezione 60.134 “ROTONDO” a pagina 1842..

60.131.4 TRONCARE
TRUNCATE elimina la parte frazionaria del numero e restituisce il numero intero. Per

ulteriori informazioni, vedere la sezione 60.135 “TRUNCATE” a pagina 1843..

04-20006-02-it, marzo 2019 Tecnico


1839
60 Programmazione di script
60.132 SOFFITTO

60.132 SOFFITTO
CEILING arrotonda un numero all'intero successivo più grande sulla linea numerica e restituisce tale
intero.

Vedi ROUND per un confronto tra tutte le funzioni di arrotondamento.

Sintassi
Soffitto (numero)

Tabella: Parametro TETTO


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
File di programma

Di seguito viene mostrato come il regolatore calcola il limite di -2,7:

Superiore = Soffitto(-2,7)
Questa istruzione restituisce -2.

Esempio 2

File di programma

RndVal = Soffitto(4.3)
Questa affermazione restituisce 5.

Tecnico 04-20006-02-it, marzo 2019


1840
60 Programmazione di script
60.133 PIANO

60.133 PAVIMENTO

FLOOR restituisce il successivo intero più piccolo sulla linea numerica e restituisce quell'intero.

Sintassi
Pavimento (numero)

Tabella: Parametro PAVIMENTO

Parametro Descrizione

numero Qualsiasi numero o espressione. (Vedi ROUND per un


confronto di tutte le funzioni di arrotondamento.)

Esempi
Esempio 1
File di programma

TmpVar = Piano (42.7)


Questa istruzione restituisce
42. Esempio 2
File di programma

Risultato = Piano(-1.1)
Questa istruzione restituisce -2.

04-20006-02-it, marzo 2019 Tecnico


1841
60 Programmazione di script
60.134 TONDA

60.134 TONDA
ROUND arrotonda un numero all'intero più vicino e restituisce quel valore. Il

numero è qualsiasi numero o espressione.

ROUND, CEILING, FLOOR e TRUNCATE sono simili, ma differiscono nei seguenti


modi:
• ROUND arrotonda per eccesso se il decimale è 0,5 o superiore e per difetto se il decimale è
inferiore a 0,5. ROUND (-1.7) dà -2 (vedi figura sotto).

• CEILING arrotonda sempre per eccesso. CEILING (-2.7) dà il numero più vicino più alto sulla linea
numerica, -2. Per ulteriori informazioni, vedere la sezione 60.132 “SOFFITTO” a pagina 1840.

• FLOOR arrotonda sempre per difetto. FLOOR (-3.8) dà il numero più basso più vicino sulla linea
dei numeri, -4. Per ulteriori informazioni, vedere la sezione 60.133 “PAVIMENTO” a pagina
1841.

• TRUNCATE taglia il valore decimale. TRUNCATE (-3.8) restituisce il numero intero


senza decimale, -3.
La tabella seguente illustra le differenze tra le quattro funzioni:

Tabella: Funzioni ROUND


Funzione 4.2 4.7 - 3.1 - 3.7

GIRARE 4 5 -3 -4

SOFFITTO 5 5 -3 -3

PAVIMENTO 4 4 -4 -4

TRONCARE 4 4 -3 -3

Sintassi
Girare (numero)
Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
File di programma

Tmpvar = Arrotondato (-42,7)

Questa istruzione restituisce -43.

Esempio 2

File di programma

Rndval = Rotondo (4.3) Questa

affermazione restituisce 4.

Tecnico 04-20006-02-it, marzo 2019


1842
60 Programmazione di script
60.135 TRONCARE

60.135 TRONCARE
Alias: TRONCO

TRUNCATE elimina la parte frazionaria del numero e restituisce il numero intero.

Sintassi
Tronca (numero)

Tabella: Parametro TRUNCATE


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
File di programma

CHP = Tronca (4.5)


TRUNCATE restituisce 4 e l'istruzione del programma imposta CHP su 4.

Esempio 2

File di programma

VAL_C = Tronca (-1,7)


TRUNCATE restituisce -1 e l'istruzione del programma imposta VAL_C su -1.

04-20006-02-it, marzo 2019 Tecnico


1843
60 Programmazione di script
60.136 Funzioni statistiche

60.136 Funzioni statistiche


Le funzioni statistiche eseguono operazioni statistiche.

60.136.1 MEDIA
MEDIA restituisce la media di un elenco di elementi, la media degli elementi in un array da te
nominato o la media degli elementi nel registro da te nominato.

Per ulteriori informazioni, vedere la sezione 60.137 “MEDIA” a pagina 1845..

60.136.2 MASSIMO
MAXIMUM trova il numero massimo in un elenco di valori numerici, una matrice numerica o
un log numerico.

Per ulteriori informazioni, vedere la sezione 60.138 “MASSIMO” a pagina 1847..

60.136.3 MAXITEM
MAXITEM trova la posizione del numero più grande in un elenco, un array o un registro.
Ad esempio, MAXITEM restituisce 1 se il numero più grande è il primo nell'elenco.

Per ulteriori informazioni, vedere la sezione 60.139 “MAXITEM” a pagina 1849..

60.136.4 MINIMO
MINIMO trova il numero minimo in un elenco di valori numerici, una matrice numerica o un
log numerico.

Per ulteriori informazioni, vedere la sezione 60.140 “MINIMO” a pagina 1851..

60.136.5 MINITEM
MINITEM trova la posizione del numero più piccolo in una lista, un array o un log. Ad
esempio, MINITEM restituisce 1 se il numero più piccolo è il primo nell'elenco.

Per ulteriori informazioni, vedere la sezione 60.141 “MINITEM” a pagina 1853..

60.136.6 Deviazione standard


StandardDeviation trova la deviazione standard di una serie di numeri. Per ulteriori

informazioni, vedere la sezione 60.142 “StandardDeviation” a pagina 1855..

Tecnico 04-20006-02-it, marzo 2019


1844
60 Programmazione di script
60.137 MEDIA

60.137 MEDIA
Alias: AVG
MEDIA restituisce la media di un elenco di elementi, la media degli elementi in un array da te
nominato o la media degli elementi nel registro da te nominato.

Sintassi
Formato 1:Media (elenco_numerico)

Formato 2:Media (array_numerico)

Formato 3:Media (registro_numerico)

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: Parametri MEDIA


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri, separati da virgole.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Gli elementi nell'elenco devono essere tutti numeri o variabili che contengono numeri. I numeri degli
elementi non sono obbligatori. L'omissione dei numeri degli elementi calcola la media dell'intero array o
registro.

Esempi
Esempio 1
Per calcolare la media di diverse temperature, inserirle direttamente nell'istruzione della
funzione AVERAGE. Li elenchi tra parentesi dopo MEDIA, come segue:

File di programma

Flr8_AVG = Media (TMP801, TMP802, TMP803, TMP804) Esempio


2
Poiché sai che una certa temperatura varia, hai memorizzato le letture in un array
chiamato OAT. Quindi utilizzi la funzione MEDIA su quell'array, come segue:

04-20006-02-it, marzo 2019 Tecnico


1845
60 Programmazione di script
60.137 MEDIA

File di programma

OAT_AVG = Media (OAT)


Esempio 3
Hai registrato le temperature in un registro, chiamato TEMPLOG, per diverse ore. Per
trovare la loro media, utilizzare la funzione MEDIA come segue:
File di programma

AVG orario = Media (TEMPLOG)

Tecnico 04-20006-02-it, marzo 2019


1846
60 Programmazione di script
60.138 MASSIMO

60.138 MASSIMO
Alias: MAX
MAXIMUM trova il numero massimo in un elenco di valori numerici, una matrice numerica o
un log numerico.

Sintassi
Formato 1:Massimo (elenco_numerico)

Formato 2:Massimo (array_numerico)

Formato 3:Massimo (registro_numerico)

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: Parametri MASSIMO


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri, separati da virgole.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Gli elementi nell'elenco devono essere tutti numeri o variabili che contengono numeri.

Se uno qualsiasi degli elementi nell'elenco nel formato 1 è un array o un log ma non indica un
numero di elemento, il controllore recupera il valore corrente del punto e tratta quel punto come
qualsiasi altro singolo elemento nell'elenco.

Esempi
Esempio 1
La funzione MASSIMO trova il numero massimo in un elenco di variabili come segue: File di

programma

TOPNUMBER = Massimo (Zona1, Zona2, Zona3, Zona4) Alla


variabile TOPNUMBER viene assegnato il valore massimo trovato.
Esempio 2

04-20006-02-it, marzo 2019 Tecnico


1847
60 Programmazione di script
60.138 MASSIMO

È possibile trovare il numero massimo di kilowatt (KW) nell'array di variabili come


segue:
File di programma

TOPNUMBER = Massimo (KW)


Esempio 3
Puoi trovare la temperatura più alta tra diverse temperature, incluso il valore corrente di
TEMPLOG, come segue:

File di programma

TOPNUMBER = Massimo (TMP801, TMP802, TEMPLOG)


In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Tecnico 04-20006-02-it, marzo 2019


1848
60 Programmazione di script
60.139 MAXITEM

60.139 MAXITEM
MAXITEM trova la posizione del numero più grande in un elenco, un array o un registro.
Ad esempio, MAXITEM restituisce 1 se il numero più grande è il primo nell'elenco.

Sintassi
Formato 1:Articolo massimo (elenco_numerico)

Formato 2:Articolo massimo (array_numerico)

Formato 3:Articolo massimo (registro_numerico)

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: Parametri MAXITEMS


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri, separati da virgole.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Se uno qualsiasi degli elementi nell'elenco nel formato 1 è un array o un log, il controller recupera
il primo elemento dall'array o dal log e lo tratta come qualsiasi altro singolo elemento nell'elenco.

Esempi
Esempio 1
Per trovare la posizione del numero più grande in una serie di numeri, inserisci
la serie tra parentesi:
File di programma

Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67

04-20006-02-it, marzo 2019 Tecnico


1849
60 Programmazione di script
60.139 MAXITEM

Articolo massimo (Temp1, Temp2, Temp3, Temp4)


L'istruzione Maxitem restituisce 3, perché il terzo elemento nell'elenco contiene il numero
più grande.

Esempio 2
Per trovare la posizione dell'indice del numero più grande in un array, inserisci il nome dell'array tra
parentesi:

File di programma

Prodotto massimo (KW)

Esempio 3
Per trovare la posizione dell'indice del numero più grande in un registro, inserisci il nome del registro
tra parentesi:

File di programma

Articolo massimo(Temp)

Esempio 4
Troverai la posizione della temperatura più alta tra diverse temperature in un elenco, incluso il
valore corrente di TEMPLOG, come segue:

File di programma

Indice massimo = Elemento massimo (TMP801, TMP802, TEMPLOG)

In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Tecnico 04-20006-02-it, marzo 2019


1850
60 Programmazione di script
60.140 MINIMO

60.140 MINIMO
MINIMO trova il numero minimo in un elenco di valori numerici, una matrice numerica o un
log numerico.

Gli elementi nell'elenco devono essere tutti numeri o variabili che contengono numeri.

Se uno qualsiasi degli elementi nell'elenco nel Formato 1 è un array o un log ma non indica un
numero di elemento, il controllore recupera il valore corrente del punto e tratta quel valore come
qualsiasi altro singolo elemento nell'elenco.

Sintassi
Formato 1:Minimo (elenco_numerico)

Formato 2:Minimo (array_numerico)

Formato 3:Minimo (registro_numerico)

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: Parametri MINIMI


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Esempi
Esempio 1
La funzione MINIMO trova il numero minimo in un elenco di variabili come segue: File di

programma

Numero Bot = Minimo (Zona1, Zona2, Zona3, Zona4) Alla


variabile BotNumber viene assegnato il valore minimo trovato.
Esempio 2
È possibile trovare il numero minimo di kilowatt nell'array di variabili come segue:

04-20006-02-it, marzo 2019 Tecnico


1851
60 Programmazione di script
60.140 MINIMO

File di programma

BottomNumber = Minimo (KW)


Esempio 3
Puoi trovare il minimo di diverse temperature, incluso il valore corrente di
TEMPLOG, come segue:
File di programma

NumeroInferiore = Minimo (TMP801, TMP802, TEMPLOG)


In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Esempio 4

Hai un registro chiamato AV_TEMP che contiene la temperatura media per ciascuno degli ultimi
cinque giorni. Puoi utilizzare la funzione MINIMA per trovare la temperatura minima:

File di programma

SettimanaMin = Minimo (AV_TEMP)


Se AV_TEMP contiene 110, 114, 112, 108, 109, MINIMUM restituisce 108 e l'istruzione del
programma imposta WKLYMIN su 108.

Tecnico 04-20006-02-it, marzo 2019


1852
60 Programmazione di script
60.141 MINITEM

60.141 MINITEM
MINITEM trova la posizione del numero più piccolo in una lista, un array o un log. Ad
esempio, MINITEM restituisce 1 se il numero più piccolo è il primo nell'elenco.

Se uno qualsiasi degli elementi nell'elenco nel formato 1 è un array o un log, il controller recupera
il primo elemento dall'array o dal log e lo tratta come qualsiasi altro singolo elemento nell'elenco.

Sintassi
Formato 1:Minimo (elenco_numerico)

Formato 2:Minimo (array_numerico)

Formato 3:Minimo (registro_numerico)

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: Parametri MINITEM


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Esempi
Esempio 1
Per trovare la posizione del numero più piccolo in una serie di numeri, inserisci
la serie tra parentesi:
File di programma

Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67
Minimo elemento (Temp1, Temp2, Temp3, Temp4)

04-20006-02-it, marzo 2019 Tecnico


1853
60 Programmazione di script
60.141 MINITEM

L'istruzione MINITEM restituisce 2, perché il secondo elemento nell'elenco contiene il numero


più piccolo.

Esempio 2
Per trovare la posizione dell'indice del numero più piccolo in un array, inserisci il nome
dell'array tra parentesi:

File di programma

Minindex = Minielemento (KW)


Esempio 3
Per trovare la posizione dell'indice del numero più piccolo in un log, chiamato TEMPLOG,
inserisci il nome del log tra parentesi:

File di programma

Minindice = Minielemento (TEMPLOG)


Esempio 4
Puoi trovare la posizione della temperatura più bassa tra diverse temperature in un elenco, incluso il
valore corrente di TEMPLOG, come segue:

File di programma

Minindice = Minielemento(TMP801, TMP802, TEMPLOG)


In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Tecnico 04-20006-02-it, marzo 2019


1854
60 Programmazione di script
60.142 Deviazione standard

60.142 Deviazione standard


Alias: SD
StandardDeviation trova la deviazione standard di una serie di numeri. La
deviazione standard è il risultato dei seguenti passaggi:

Tabella: trovare la deviazione standard


Fare un passo Azione

1 Trova la media della lista.

2 Trova le differenze tra la media e


ciascun numero.
Se la media è 110 e uno dei numeri è 112,
la differenza è 2.

3 Eleva al quadrato le differenze, quindi 2 diventa 4.

4 Somma i quadrati e trovane la media.

5 Prendi la radice quadrata della media.

Gli elementi nell'elenco devono essere tutti numeri o variabili che contengono numeri.

Se uno qualsiasi degli elementi nell'elenco nel formato 1 è un array o un log ma non indica un
numero di elemento, il controllore recupera il valore corrente del punto e tratta quel punto come
qualsiasi altro singolo elemento nell'elenco.

Sintassi
Formato 1:Deviazione standard (numeric_list) Restituisce la

deviazione standard degli elementi elencati. Formato 2:

Deviazione standard (numeric_array) Restituisce la deviazione

standard degli elementi nell'array. Formato 3:Deviazione

standard (numeric_log) Restituisce la deviazione standard degli

elementi nel registro.

• Il formato 1 è supportato in un programma Script in esecuzione in un server EcoStruxure


BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 è supportato per le variabili locali dichiarate in un programma Script in esecuzione


in un server EcoStruxure BMS e nei dispositivi di campo, come i dispositivi b3 BACnet.

• Il formato 2 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo è vero per l'associazione di variabili legate a un array numerico, manuale,
esterno al programma.

• Il formato 3 è supportato in un programma Script in esecuzione in un dispositivo da campo, come un


dispositivo BACnet b3, che accede a un registro numerico.

04-20006-02-it, marzo 2019 Tecnico


1855
60 Programmazione di script
60.142 Deviazione standard

• Il formato 3 non è supportato in un programma Script in esecuzione su un server EcoStruxure


BMS. Questo vale per le variabili vincolanti legate a qualsiasi registro numerico nel server
EcoStruxure BMS stesso o in qualsiasi altro dispositivo, inclusi i dispositivi di campo come i
dispositivi b3 BACnet.

Tabella: parametri di deviazione standard


Parametro Descrizione

elenco_numerico Uno o più numeri o nomi che


rappresentano numeri, separati da virgole.

array_numerico Qualsiasi array definito che contiene numeri.

registro_numerico Qualsiasi registro definito che contiene numeri.

Esempi
Esempio 1
Per trovare la deviazione standard di diverse temperature, inseriscile direttamente
nell'istruzione STANDARDDEVIATION. Li elenchi tra parentesi come segue:
File di programma

TempDev = DeviazioneStandard (70, 72, 74) La


deviazione standard restituita è 2. Esempio 2

Poiché sai che una certa temperatura varia, hai memorizzato le letture in un array
chiamato VARTMP. Quindi utilizzi la funzione STANDARDDEVIATION su quell'array, come
segue:
File di programma

Variazione = Deviazione Standard (VARTMP)


Esempio 3
Hai registrato le temperature in un registro per diverse ore. Trovi la loro
deviazione standard come segue:
File di programma

Devianza = Deviazione Standard (TEMPLOG)


Esempio 4
Troverai la deviazione standard di diverse temperature in un elenco, incluso il
valore corrente di TEMPLOG, come segue:
File di programma

DevStd = Deviazione Standard (TMP1, TMP2, TEMPLOG)


In questo esempio, TEMPLOG viene interpretato come il valore corrente di TEMPLOG.

Tecnico 04-20006-02-it, marzo 2019


1856
60 Programmazione di script
60.143 Funzioni di stringa

60.143 Funzioni di stringa


Le funzioni stringa eseguono operazioni relative alle stringhe.

60.143.1 ASC
ASC restituisce il valore ASCII del primo carattere della stringa. Per

ulteriori informazioni, vedere la sezione 60.144 “ASC” a pagina 1859..

60.143.2 CHR
CHR restituisce un carattere il cui codice ASCII è un numero. CHR può essere utilizzato per inviare
caratteri non stampabili a un terminale, computer o stampante per avviare un'azione.

Per ulteriori informazioni, vedere la sezione 60.145 “CHR” a pagina 1860..

60.143.3 SINISTRA
LEFT restituisce una stringa composta dai caratteri più a sinistra di string con una lunghezza specificata
da un numero intero.

Per ulteriori informazioni, vedere la sezione 60.146 “SINISTRA” a pagina 1861..

60.143.4 LUNGHEZZA
LENGTH restituisce il numero di caratteri nella stringa.
Per ulteriori informazioni, vedere la sezione 60.147 “LUNGHEZZA” a pagina 1862..

60.143.5 METÀ
MID restituisce un carattere numerico di stringa estratto dalla stringa a partire dall'offset. Per

ulteriori informazioni, vedere la sezione 60.148 “MID” a pagina 1863..

60.143.6 DESTRA
DESTRA restituisce il numero di caratteri richiesti (il numero intero) dalla stringa di testo
iniziando dal lato destro (fine) e contando verso sinistra.

Per ulteriori informazioni, vedere la sezione 60.149 “DESTRA” a pagina 1864..

04-20006-02-it, marzo 2019 Tecnico


1857
60 Programmazione di script
60.143 Funzioni di stringa

60.143.7 RICERCA
SEARCH restituisce la posizione della stringa_ricerca specificata all'interno della stringa o 0 se il
controller non riesce a trovare la stringa_ricerca.

Per ulteriori informazioni, vedere la sezione 60.150 “RICERCA” a pagina 1865..

60.143.8 TROVARE

FIND esegue una ricerca di stringhe con distinzione tra maiuscole e minuscole o senza distinzione tra

maiuscole e minuscole. Per ulteriori informazioni, vedere la sezione 60.151 "TROVA" a pagina 1866.

60.143.9 RIEMPIMENTO STRINGA


STRINGFILL restituisce una stringa di lunghezza numerica contenente un particolare carattere
specificato con il codice carattere ASCII denominato dal codice carattere.

Per ulteriori informazioni, vedere la sezione 60.152 “STRINGFILL” a pagina 1867..

60.143.10 TAB
TAB restituisce una serie di spazi vuoti continui. Il numero di spazi vuoti è
numero.
Per ulteriori informazioni, vedere la sezione 60.153 “TAB” a pagina 1869..

Tecnico 04-20006-02-it, marzo 2019


1858
60 Programmazione di script
60.144 ASC

60.144 ASC
ASC restituisce il valore ASCII del primo carattere della stringa.

Sintassi
ASC (corda)

Tabella: Parametro ASC


Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale

Esempi
Questa istruzione restituisce 83, che è il valore ASCII del carattere S:
Program File
ASC ("S")

04-20006-02-it, marzo 2019 Tecnico


1859
60 Programmazione di script
60.145 CHR

60.145 CHR
CHR restituisce un carattere il cui codice ASCII è un numero. CHR può essere utilizzato per inviare
caratteri non stampabili a un terminale, computer o stampante per avviare un'azione.

Sintassi
CHR (numero)

Tabella: Parametro CHR


Parametro Descrizione

numero Qualsiasi numero o espressione.

Esempi
Esempio 1
Dopo aver stampato diverse pagine di messaggi, si desidera inviare un rapporto a quella
stampante.

Ti assicuri che il rapporto inizi su un foglio di carta pulito inviando un'istruzione che dice alla
stampante di portare il foglio all'inizio di una nuova pagina. Questa azione è chiamata
avanzamento modulo. Il codice per generare un formfeed è 12. Scrivi il formfeed come segue:

File di programma

'Genera un formfeed e riporta il titolo


Stampa CHR(12); "Rapporto energetico settimanale"
Esempio 2

Un altro modo per utilizzare la funzione CHR è inviare un segnale acustico a un terminale, computer o
stampante per avvisare che la variabile ERRORS ha raggiunto un valore critico alto. Il codice ASCII per
generare il suono della campana è 7. Scrivi la notifica della variabile degli errori come segue:

File di programma

'Decide se troppi errori non vengono riconosciuti e genera un campanello

Se errori > 15 stampa CHR(7)

Tecnico 04-20006-02-it, marzo 2019


1860
60 Programmazione di script
60.146 SINISTRA

60.146 SINISTRA
Alias: PRIMO

LEFT restituisce una stringa composta dai caratteri più a sinistra di string con una lunghezza specificata
da un numero intero.

Sintassi
Sinistra (stringa, numero intero)

Tabella: Parametri SINISTRA

Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

numero intero Qualsiasi numero intero o espressione intera fino


alla lunghezza della stringa che indica quanti
caratteri si desidera dalla stringa.

Se il numero intero è maggiore della lunghezza


della stringa, il controller restituisce l'intera
stringa.

Esempi
Esempio 1
File di programma

LVAL = Sinistra("ABCDEF", 2)
Questa istruzione restituisce AB.
Esempio 2
Supponiamo che la variabile TEXT contenga ROOM808; la seguente istruzione
recupera la parola ROOM eseguendo la funzione LEFT:
File di programma

LVAL = Sinistra(TESTO, 4) Questa


istruzione restituisce ROOM.

04-20006-02-it, marzo 2019 Tecnico


1861
60 Programmazione di script
60.147 LUNGHEZZA

60.147 LUNGHEZZA
Alias: LEN
LENGTH restituisce il numero di caratteri nella stringa.

Sintassi
Lunghezza (corda)

Tabella: Parametro LUNGHEZZA

Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

Esempi
Esempio 1
File di programma

Risultato = Lunghezza ("ABCDE")


La funzione LENGTH restituisce 5 e l'istruzione imposta RESULT su 5.
Esempio 2
File di programma

Risultato = Lunghezza ("")


La funzione LENGTH restituisce 0 e l'istruzione imposta RESULT su 0.

Tecnico 04-20006-02-it, marzo 2019


1862
60 Programmazione di script
60.148 METÀ

60.148 METÀ
MID restituisce un carattere numerico di stringa estratto dalla stringa a partire dall'offset.

Sintassi
METÀ (stringa, offset, numero)

Tabella: Parametri MID


Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

compensare Il numero (o una variabile che contiene il


numero) della posizione in cui si desidera
che il controller inizi a estrarre la stringa di
caratteri.
Se l'offset è maggiore della lunghezza
dell'espressione stringa, MID restituisce la
stringa vuota " ".

numero Qualsiasi numero o espressione. Indica


quanti caratteri vuoi estrarre dalla stringa di
testo.

Esempi
Esempio 1
File di programma

MIDSTR = MID("ABCDE", 2, 3)
MID restituisce BCD e l'istruzione imposta MIDSTR su BCD.
Esempio 2
File di programma

STRAPPO = METÀ (ABCDE, 9, 2) restituisce " ".

04-20006-02-it, marzo 2019 Tecnico


1863
60 Programmazione di script
60.149 GIUSTO

60.149 GIUSTO
Alias: ULTIMO

DESTRA restituisce il numero di caratteri richiesti (il numero intero) dalla stringa di testo
iniziando dal lato destro (fine) e contando verso sinistra.

Sintassi
Giusto (stringa, numero intero)

Tabella: Parametri DESTRA


Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

numero intero Qualsiasi numero intero o espressione intera fino


alla lunghezza della stringa che indica quanti
caratteri si desidera dalla stringa.

Se il numero intero è maggiore della lunghezza


della stringa, il controller restituisce l'intera
stringa.

Esempio
File di programma

RGTVAL = Destra ("ABCDE", 3) Questa


istruzione restituisce CDE.

Tecnico 04-20006-02-it, marzo 2019


1864
60 Programmazione di script
60.150 RICERCA

60.150 RICERCA
SEARCH restituisce la posizione della stringa_ricerca specificata all'interno della stringa o 0 se il
controller non riesce a trovare la stringa_ricerca.

Mancia

LA RICERCA distingue tra maiuscole e minuscole. Se desideri eseguire una ricerca di stringhe senza distinzione tra
maiuscole e minuscole, utilizza invece la parola chiave FIND. Per ulteriori informazioni, vedere la sezione 60.151 "TROVA" a
pagina 1866.

Sintassi
Ricerca (stringa, stringa_ricerca)

Tabella: Parametri RICERCA


Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

stringa di ricerca Qualsiasi testo (parola o parole) che desideri


cercare nella stringa.

Esempi
Esempio 1
File di programma

NSTR = Cerca ("ABCDE", "BC")


La ricerca restituisce 2 e imposta NSTR su 2, la posizione BC inizia nella stringa.
Esempio 2
File di programma

NSTR = Cerca ("ABCDE", "CB")


La ricerca restituisce 0 e imposta NSTR su 0 perché CB non è presente nella stringa.

04-20006-02-it, marzo 2019 Tecnico


1865
60 Programmazione di script
60.151 TROVA

60.151 TROVARE

FIND esegue una ricerca di stringhe con distinzione tra maiuscole e minuscole o senza distinzione tra maiuscole e minuscole.

Sintassi
Trovare (stringa, stringa_ricerca, [0 o 1])

Tabella: Parametri TROVA


Parametro Descrizione

corda Qualsiasi testo (parola o parole) o espressione testuale.

stringa di ricerca Qualsiasi testo (parola o parole) che desideri


cercare nella stringa.

0 Esegue una ricerca con distinzione tra maiuscole e minuscole

sulla stringa.
1
Esegue una ricerca senza distinzione tra maiuscole e minuscole

sulla stringa.

Se non è presente alcun argomento, viene eseguita una ricerca senza

distinzione tra maiuscole e minuscole.

Esempi
Esempio 1
File di programma

NSTR = Trova ("ABCDE", "bc")


La ricerca restituisce 2 e imposta NSTR su 2, la posizione bc inizia nella stringa.
Esempio 2
File di programma

NSTR = Trova ("ABCDE", "CB")


La ricerca restituisce 0 e imposta NSTR su 0 perché CB non è nella stringa.

Esempio 3

File di programma

NSTR = Trova ("ABCDE", "bc", 0)


La ricerca restituisce 0 e imposta NSTR su 0 perché la stringa di ricerca fa distinzione tra maiuscole e
minuscole e la lettera bc minuscola non è presente nella stringa.

Esempio 4
File di programma

NSTR = Trova ("ABCDE", "bc", 1)


La ricerca restituisce 2 e imposta NSTR su 2 poiché la ricerca non fa distinzione tra maiuscole e minuscole e
2 è la posizione in cui inizia bc nella stringa.

Tecnico 04-20006-02-it, marzo 2019


1866
60 Programmazione di script
60.152 RIEMPIMENTO STRINGA

60.152 RIEMPIMENTO STRINGA

STRINGFILL restituisce una stringa di lunghezza numerica contenente un particolare carattere


specificato con il codice carattere ASCII denominato dal codice carattere.

Sintassi
Riempimento di stringhe (numero, codice carattere)

Tabella: parametri STRINGFILL


Parametro Descrizione

numero Qualsiasi numero o espressione. Fornisce la lunghezza


della stringa.

codicecarattere Il codice carattere ASCII del carattere con cui si


desidera riempire la stringa.

Esempi
Esempio 1
Supponiamo di voler stampare una serie di 60 asterischi nella parte superiore di un report. Si
utilizza STRINGFILL per stampare gli asterischi fornendo il numero 60 per il numero di
asterischi e il numero 42 come codice ASCII per l'asterisco, come segue:

Stampa Stringfill(60, 42)


Esempio 2
È possibile disegnare linee orizzontali tratteggiate in un report utilizzando STRINGFILL
fornendo il numero di spazi su cui si desidera stampare la riga (60) e il codice ASCII per un
trattino (45):

File di rapporto

Stampa Stringfill(60, 45)


Esempio 3
Supponiamo di voler progettare un grafico per mostrare la domanda di picco in kilowatt per ogni
giorno dell'ultima settimana. È possibile creare un grafico a barre riempiendo il numero appropriato
di spazi, ad esempio, con asterischi. Il seguente programma crea un grafico di questo tipo:

File di programma

Numerico ShortDays, DayX Stampa "Picco

della domanda di KW per settimana" Stampa

""

Per GiornoX = da 1 a 7

Stampa ST(GiorniShort, GiornoX);" | "; ~


Stringfill (KWD[DayX]/100, 42) GiornoX
successivo
Stampa " +----+----+----+----+----+"
Stampa "0 500 1000 1500 2000 2500"
Il programma stampa il titolo e procede con un ciclo FOR...NEXT.

04-20006-02-it, marzo 2019 Tecnico


1867
60 Programmazione di script
60.152 RIEMPIMENTO STRINGA

All'interno del ciclo FOR...NEXT, il programma stampa prima il nome breve del giorno della settimana, in
base al numero corrispondente al giorno (1 per SUN) utilizzando una funzione personalizzata chiamata ST.
Successivamente, il programma stampa un segno più dopo il nome.

STRINGFILL utilizza quindi due valori per stampare la richiesta di kilowatt per quel giorno:

Domanda di kilowatt per il giorno dall'array KWD (KWD[1] = domanda di kilowatt di


domenica, KWD[2] = domanda di kilowatt di lunedì e KWD[3] = domanda di kilowatt di
martedì e così via.
Codice ASCII per l'asterisco (42).
Per vedere come STRINGFILL utilizza questi due valori, dai un'occhiata a Sunday nel grafico
prodotto dal programma:

Uscita del file di programma

RICHIESTA KWD DI PICCO PER LA SETTIMANA DI

SOLE +******

LUN +**********

MAR +********

MER +************

GIO +********

VEN +********

SAB +***

+---+-----+-----+-----+----

- + 0 500 1000 1500 2000 2500

Per prima cosa il programma recupera la domanda di kilowatt di domenica dall'array KWD. La richiesta
in kilowatt di domenica è di 600 Kw. Il programma divide la domanda per 100, ottenendo 6. Quindi
STRINGFILL stampa sei asterischi per la domenica.

Il programma recupera quindi la richiesta di kilowatt di lunedì dall'array KWD. La richiesta di


kilowatt di lunedì è di 1000 Kw. Il programma divide la domanda per 100, ottenendo 10.
Quindi STRINGFILL stampa 10 asterischi per lunedì.

Il programma continua ad eseguire lo stesso processo per ogni giorno della settimana.
Dopo aver stampato la richiesta in kilowatt di sabato, il programma stampa la scala del
grafico, che visualizza da 0 a 2500 Kw.

Tecnico 04-20006-02-it, marzo 2019


1868
60 Programmazione di script
60.153 TAB

60.153 TAB
TAB restituisce una serie di spazi vuoti continui. Il numero di spazi vuoti è
numero.

Sintassi
Scheda (numero)

Tabella: Parametro TAB


Parametro Descrizione

numero Qualsiasi numero o espressione.

Il numero rappresenta il numero di spazi di cui vuoi


spingere il testo stampato verso destra, come su una
macchina da scrivere. Deve essere inferiore a 132.

Esempi
File di programma

Scheda Stampa (10); "Questo è un titolo"


Produzione

Questo è un titolo

Il testo viene spostato di dieci spazi a destra.

04-20006-02-it, marzo 2019 Tecnico


1869
60 Programmazione di script
60.154 Funzioni temporali

60.154 Funzioni temporali


Le funzioni temporali eseguono operazioni relative al tempo.

60.154.1 DIFFICILE
DIFFTIME calcola la differenza in secondi, minuti, ore o giorni interi tra due
date e orari, date_time1 e date_time2. (Sottrae date_time1 da date_time2.)

Per ulteriori informazioni, vedere la sezione 60.155 “DIFFTIME” a pagina 1871..

60.154.2 OROLOGIO
TIMEPIECE recupera la parte di tempo (ora, minuto, secondo) o la parte di data (giorno della
settimana, mese, giorno del mese, anno, giorno dell'anno) da una variabile o punto.

Per maggiori informazioni consultare la sezione 60.156 “OROLOGIO” a pagina 1873..

Tecnico 04-20006-02-it, marzo 2019


1870
60 Programmazione di script
60.155 DIFFTIME

60.155 DIFFICILE
DIFFTIME calcola la differenza in secondi, minuti, ore o giorni interi tra due
date e orari, date_time1 e date_time2. (Sottrae date_time1 da date_time2.)

Sintassi
Sintassi 1:Orario diverso (SECONDO, data_ora1, data_ora2 )
Calcola la differenza in secondi interi tra due date e ore, date_time1 e
date_time2. (Sottrae date_time1 da date_time2.)
Sintassi 2:Orario diverso (MINUTO, data_ora1, data_ora2 )
Calcola la differenza in minuti interi tra due date e ore, date_time1 e
date_time2. (Sottrae date_time1 da date_time2.)
Sintassi 3:Orario diverso (ORA, data_ora1, data_ora2 )
Calcola la differenza in ore intere tra due date e orari, date_time1 e
date_time2. (Sottrae date_time1 da date_time2.)
Sintassi 4:Orario diverso (WKD, data_ora1, data_ora2 )
Calcola e restituisce la differenza in giorni interi tra due orari e date,
date_time1 e date_time2. (Sottrae date_time1 da date_time2.)

Tabella: parametri DIFFTIME


Parametro Descrizione

data_ora1 Qualsiasi data e ora effettive o una variabile


datetime.

DIFFTIME sottrae sempre il primo datetime


dal secondo.
Con SECOND, qualsiasi tempo oltre il secondo completo
non viene conteggiato. Quindi, 2 secondi e mezzo
diventano 2 secondi.

Con MINUTO, qualsiasi tempo oltre il minuto


completo non viene conteggiato. Quindi, 2 minuti e
15 secondi diventano 2 minuti.

Con ORA, qualsiasi tempo oltre un'ora


completa non viene conteggiato. Quindi, 2
ore e 15 minuti diventano 2 ore.

Con WKD, il tempo trascorso oltre la giornata intera


non viene conteggiato. Quindi due giorni e 15 ore
diventano due giorni.

data_ora2 Se date_time1 è successiva a date_time2,


DIFFTIME restituisce un numero negativo.

Esempi
Esempio 1
Puoi utilizzare DIFFTIME con SECOND per determinare quanti secondi sono trascorsi. Il
programma di esempio riportato di seguito calcola la differenza tra due letture della
variabile data/ora TIMER.
File di programma

04-20006-02-it, marzo 2019 Tecnico


1871
60 Programmazione di script
60.155 DIFFTIME

Temporizzatore data/ora[2]

Se Difftime (secondi, timer[1], timer[2]) > 30, eseguire il test


L'istruzione determina il risultato di TIMER[2] - TIMER[1]. Se la differenza è maggiore di
30 secondi, viene eseguito il TEST.

Dovresti sostituire MINUTO o ORA nell'esempio sopra per ottenere la differenza oraria in
minuti o ore.
Esempio 2
Puoi utilizzare DIFFTIME con WKD per determinare quanti giorni sono trascorsi. Il programma
di esempio che segue calcola la differenza tra la data precedente (memorizzata nella variabile
OLDDATE) e la data corrente (nella variabile di sistema DATE).

File di programma

Temporizzatore data/ora[2]

Risultato = Difftime (WKD, OLDTIME, DATE)


L'istruzione imposta RESULT sul numero di giorni forniti da DATE - OLDDATE.

Tecnico 04-20006-02-it, marzo 2019


1872
60 Programmazione di script
60.156 OROLOGIO

60.156 OROLOGIO
TIMEPIECE recupera la parte di tempo (ora, minuto, secondo) o la parte di data (giorno della
settimana, mese, giorno del mese, anno, giorno dell'anno) da una variabile o punto.

Nota
Tieni presente che i giorni della settimana corrispondono alle seguenti cifre:
• Domenica = 1
• Lunedì = 2
• Martedì = 3
• Mercoledì = 4
• Giovedì = 5
• Venerdì = 6
• Sabato = 7

Sintassi
Orologio (data/ora_variabile_sistema, data/nome_ora)

Tabella: Parametri TIMEPIECE


Parametro Descrizione

dataora_variabile_sistema Una delle variabili di sistema della data o


dell'ora: HOUR, MINUTE, SECOND, HOD,
TOD, WEEKDAY, MONTH, DAYOFMONTH,
YEAR, DAYOFYEAR.

nome_dataora Qualsiasi nome che rappresenta una data e


un'ora, incluse le variabili e i punti datetime e la
variabile di sistema DATE.

Esempi
Esempio 1
File di programma

Dataora Data1
CorrenteMin numerica
Data1 = StrToDate ("5-25-98 11:13:23")
CurrentMin = Orologio (Minuti, Data1)
In questo programma, la funzione TIMEPIECE recupera i minuti da DATE1 e
restituisce 13.
Esempio 2
File di programma

Numerico Oggi Mese


TodayMonth = Orologio (mese, data)
In questo programma, la funzione TIMEPIECE recupera il mese dalla variabile di sistema DATE.
Se la data è il 20 giugno 2005, TODAYMONTH è impostato su JUNE.

04-20006-02-it, marzo 2019 Tecnico


1873
60 Programmazione di script
60.157 Funzioni trigonometriche

60.157 Funzioni trigonometriche


Le funzioni trigonometriche restituiscono l'arcocoseno, l'arcotangente e l'arcoseno di determinati
numeri.

60.157.1 ACOS
ACOS restituisce l'arcocoseno del numero specificato.

Per ulteriori informazioni, vedere la sezione 60.158 “ACOS” a pagina 1875..

60.157.2 COME IN

ASIN restituisce l'arcoseno del numero.


Per ulteriori informazioni, vedere la sezione 60.159 “ASIN” a pagina 1876..

60.157.3 UN'ABBRONZATURA

ATAN restituisce l'arcotangente del numero.

Per ulteriori informazioni, vedere la sezione 60.160 “ATAN” a pagina 1877..

60.157.4 ATAN2
ATAN2 restituisce un angolo con un seno di sin e un coseno di cos. Per

ulteriori informazioni, vedere la sezione 60.161 “ATAN2” a pagina 1878..

60.157.5 COS
COS restituisce il coseno del numero.

Per ulteriori informazioni, vedere la sezione 60.162 “COS” a pagina 1879..

60.157.6 PECCATO

SIN restituisce il seno dell'angolo specificato.


Per ulteriori informazioni, vedere la sezione 60.163 “SIN” a pagina 1880..

60.157.7 ABBRONZATURA

TAN restituisce la tangente del numero.

Per ulteriori informazioni, vedere la sezione 60.164 “TAN” a pagina 1881..

Tecnico 04-20006-02-it, marzo 2019


1874
60 Programmazione di script
60.158 ACO

60.158 ACO
Alias: ARCCOSINE
ACOS restituisce l'arcocoseno del numero specificato.

Sintassi
ACOS (numero)

Tabella: Parametro ACOS


Parametro Descrizione

numero Qualsiasi numero o espressione che restituisce un risultato


compreso tra -1 e 1 compreso.

Il valore restituito è compreso tra 0 e pi greco (3,14159)


radianti. Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

AN_VALUE = ACOS(.7071)

04-20006-02-it, marzo 2019 Tecnico


1875
60 Programmazione di script
60.159 ASIN

60.159 ASIN
Alias: ARCSINE
ASIN restituisce l'arcoseno del numero.

Sintassi
COME IN (numero)

Tabella: parametro ASIN


Parametro Descrizione

numero Qualsiasi numero o espressione che restituisce un risultato


compreso tra -1 e 1 compreso oppure espressione che restituisce
un risultato compreso in tale intervallo.

Restituisce l'arcoseno del numero come angolo compreso tra -3,14159/2 e 3,14159/2.
Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

Risultato = ASIN(1)

Tecnico 04-20006-02-it, marzo 2019


1876
60 Programmazione di script
60.160 ATAN

60.160 ATAN
Alias: ARCTANGENTE
ATAN restituisce l'arcotangente del numero.

Sintassi
UN'ABBRONZATURA (numero)

Tabella: Parametro ATAN


Parametro Descrizione

numero Qualsiasi numero o espressione.

Restituisce un valore angolare compreso tra -3,14159/2 e


3,14159/2. Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

Val_ARC = ATAN(0)

04-20006-02-it, marzo 2019 Tecnico


1877
60 Programmazione di script
60.161 ATAN2

60.161 ATAN2
Alias: ARCTANGENT2
ATAN2 restituisce un angolo con un seno di sin e un coseno di cos.

Sintassi
ATAN2 (peccato, cos)

Tabella: Parametro ATAN2


Parametro Descrizione

peccato Un numero che è il seno di un angolo.

cos Un numero che è il coseno di un angolo.

L'angolo restituito è compreso tra -3,14159 e 3,14159 radianti.


Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

Ang_Damper = ATAN2(0,0, 1,0)

Tecnico 04-20006-02-it, marzo 2019


1878
60 Programmazione di script
60.162 COS

60.162 COS
Alias: COSENO
COS restituisce il coseno del numero.

Sintassi
COS (numero)

Tabella: Parametro COS


Parametro Descrizione

numero Qualsiasi numero o espressione che rappresenta un


angolo misurato in radianti, compreso tra
- 65536 e 65536.
Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
Esempio 1
File di programma

Mio_COS = COS(3.14159/2)
Esempio 2
File di programma

Mio_COS = COS(angolo)

04-20006-02-it, marzo 2019 Tecnico


1879
60 Programmazione di script
60.163 PECCATO

60.163 PECCATO
Alias: SINE
SIN restituisce il seno dell'angolo specificato.

Sintassi
PECCATO (numero)

Tabella: Parametro SIN


Parametro Descrizione

numero Qualsiasi numero o espressione. Il numero


rappresenta un angolo in radianti, compreso tra
- 65536 e 65536.
Radianti = gradi TEMPI (3.14159/180).
Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

Risultato = PECCATO (1)

Tecnico 04-20006-02-it, marzo 2019


1880
60 Programmazione di script
60.164 TAN

60.164 TAN
Alias: TANGENTE
TAN restituisce la tangente del numero.

Sintassi
ABBRONZATURA (numero)

Tabella: Parametro TAN


Parametro Descrizione

numero Qualsiasi numero o espressione.

Il numero rappresenta un angolo misurato in


radianti.

Radianti = gradi TEMPI (3.14159/180).


Gradi = radianti TEMPI (180/3.14159).

Esempi
File di programma

Posizione = TAN (3.14159/180)

04-20006-02-it, marzo 2019 Tecnico


1881
Tradotto dal Inglese al Italiano - [Link]

61 Redattore di script

Temi
Panoramica dell'editor di script

Errori del compilatore di script di creazione

del programma Script Editor

Errori di runtime dello script

Funzionalità dell'editor di script

Elementi e colori del programma Script Editor Scelte


rapide da tastiera per segmenti di codice comprimibili
dello Script Editor
Aggiunta di una linea

Completamento automatico dello script

Utilizzo del completamento automatico dello script

Commenti iniziali sui valori delle variabili di associazione

dell'editor di script nei programmi di script

Aggiunta di un commento

Controllo e salvataggio di un programma di script

Esecuzione di un programma di script

Importazione del codice del programma

script Esportazione di un programma script

Conversione di un file in inglese semplice

Personalizzazione dell'editor di script


61 Utilizzo di un blocco di codice script comprimibile Aggiunta di una

voce alla libreria di codici Utilizzo delle cartelle della libreria di

codici Utilizzo dei file di importazione di esempio della libreria di

codici Utilizzo degli elementi della libreria di codici

Inserimento di un elemento della libreria di codici in un programma o una funzione


di script

Riferimento al file della libreria di codici


Ricerca di testo in Script Editor Utilizzo di
Annulla e Ripeti in Script Editor Script
Debugger
Tasti funzione dello Script Debugger
Debug di un programma script
Controllo dell'operazione di traccia nello Script Debugger
Modifica dei valori nel riquadro delle variabili locali o di associazione di
Script Debugger
Accesso al livello di priorità BACnet Configurazione

dell'accesso al livello di priorità BACnet

Configurazione dell'accesso al livello di priorità BACnet per un dispositivo


BACnet b3
61 Editor di script
61.1 Panoramica dell'editor di script

61.1 Panoramica dell'editor di script


Script Editor è uno strumento di programmazione di testo utilizzato per creare programmi Script che
controllano e monitorano i sistemi di automazione degli edifici. Script Editor si apre quando si modifica
un programma Script nella WorkStation.

61.1.1 Creazione del programma Script Editor


Script Editor è uno strumento di programmazione di testo utilizzato per creare programmi Script che
controllano e monitorano i sistemi di automazione degli edifici. Ad esempio, in WorkStation è possibile
creare un programma di base, chiamato OfficeLights, per controllare l'illuminazione e la ventilazione in una
stanza in base all'occupazione.

Per ulteriori informazioni, vedere la sezione 61.2 “Creazione di programmi Script Editor” a pagina
1886.

61.1.2 Funzionalità dell'editor di script


Esistono numerose funzionalità in Script Editor che consentono di migliorare la
leggibilità e l'efficienza dei programmi di script. Questi includono:
• Elementi e colori del programma

• Sequenza di tasti

• Segmenti di codice comprimibili

• Commenti
• Completamento automatico

Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.

61.1.3 Errori del compilatore di script


Gli errori del compilatore di script identificano i problemi che possono verificarsi nella programmazione degli

script. Per ulteriori informazioni, vedere la sezione 61.3 “Errori del compilatore di script” a pagina 1891.

61.1.4 Errori di runtime dello script


Gli errori di runtime dello script identificano i problemi che possono verificarsi nella programmazione dello

script. Per ulteriori informazioni, vedere la sezione 61.4 “Errori di runtime dello script” a pagina 1894.

04-20006-02-it, marzo 2019 Tecnico


1885
61 Editor di script
61.2 Creazione del programma Script Editor

61.2 Creazione del programma Script Editor


Script Editor è uno strumento di programmazione di testo utilizzato per creare programmi Script che
controllano e monitorano i sistemi di automazione degli edifici. Ad esempio, in WorkStation è possibile
creare un programma di base, chiamato OfficeLights, per controllare l'illuminazione e la ventilazione in una
stanza in base all'occupazione.

Importante

Assicurati di avere una licenza Script funzionante e disponibile. Per avviare Script è necessaria
una licenza funzionante. Per ulteriori informazioni, vedere ilLicenzeargomento su WebHelp.

Figura: Programma OfficeLights nella visualizzazione elenco

Quando apri il tuo nuovo programma OfficeLights in Script Editor, inizi dichiarando le variabili
locali per l'input e l'output del programma seguite dai nomi per le variabili. Per ulteriori
informazioni, vedere la sezione 59.16 “Dichiarazioni di variabili locali” a pagina 1630.

Tecnico 04-20006-02-it, marzo 2019


1886
61 Editor di script
61.2 Creazione del programma Script Editor

Figura: Dichiarazioni di variabili

Dopo aver dichiarato e fatto riferimento a queste variabili, creare le righe di programma per
specificare il tipo di azione che si desidera che il programma esegua. I programmi di script
sono composti da istruzioni del linguaggio quotidiano, chiamate istruzioni, quindi non è
necessario essere un programmatore per imparare a programmare con Script Editor.

Dopo aver finito di scrivere le istruzioni nel programma, crei punti in


WorkStation.

04-20006-02-it, marzo 2019 Tecnico


1887
61 Editor di script
61.2 Creazione del programma Script Editor

Figura: Punti WorkStation

Quindi si legano le variabili a quei punti per visualizzare l'output.

Figura: Collegamenti al programma di script

Tecnico 04-20006-02-it, marzo 2019


1888
61 Editor di script
61.2 Creazione del programma Script Editor

Utilizzando i collegamenti è possibile aumentare la flessibilità del sistema di automazione degli


edifici. Ad esempio, puoi utilizzare il programma OfficeLights per controllare l'illuminazione e la
ventilazione in una stanza e quindi utilizzare quel programma per un'altra stanza modificando le
associazioni. Non è necessario modificare tutti i nomi delle variabili locali per adattarli al nuovo
programma. Al termine, utilizzare Script Editor per verificare la presenza di errori nel programma e
salvare il programma.

Figura: Processo di controllo e salvataggio del programma di script

In WorkStation, nel riquadro Proprietà, seleziona l'attività in cui desideri includere il


tuo programma. Quindi esegui il tuo programma Script.

04-20006-02-it, marzo 2019 Tecnico


1889
61 Editor di script
61.2 Creazione del programma Script Editor

Figura: esecuzione del programma di script

Puoi memorizzare i tuoi programmi Script come un documento comune e includerli successivamente in
altri progetti per utilizzarli nel tuo sistema di controllo. È inoltre possibile scrivere programmi che
eseguano decisioni molto complesse sui sistemi di controllo, come il controllo dell'illuminazione, delle
caldaie e delle unità di trattamento dell'aria in più siti.

Un singolo file di programma controlla un componente dell'apparecchiatura, il che semplifica la


manutenzione e il debug dei programmi. La capacità di controllare un unico componente
dell'apparecchiatura elimina anche la possibilità che si verifichi un conflitto tra le istruzioni di due
programmi diversi. Ad esempio, un programma che blocca e sblocca una porta previene la
probabilità che la porta venga bloccata e sbloccata accidentalmente.

Tecnico 04-20006-02-it, marzo 2019


1890
61 Editor di script
61.3 Errori del compilatore di script

61.3 Errori del compilatore di script


Gli errori del compilatore di script identificano i problemi che possono verificarsi nella programmazione degli script.

Tabella: messaggi di errore del compilatore di script (1001...1102)

Errore Testo dell'errore

1001

1002 L'identificatore <nome> è troppo lungo.

1025 La stringa <nome> è troppo lunga.

1026 Il commento supera il numero massimo di


caratteri.

1027 Errore di sintassi, carattere imprevisto


<carattere>.

1029 Errore di sintassi, token imprevisto <token>.

1030 La dimensione della matrice <numero> non è un


numero intero compreso tra 1 e 36.767.

1031 La variabile del ciclo FOR e la variabile NEXT sono


diverse.

1032 L'istruzione GOTO non è consentita all'interno di un


ciclo.

1033 Memoria libera insufficiente.

1034 La riga <etichetta> viene ridefinita.

1035 La riga <etichetta> non è definita.

1036 La variabile locale <nome> viene dichiarata nuovamente.

1037 La variabile <nome> non è dichiarata.

1038 Impossibile definire altre variabili locali.

1039 BREAK o CONTINUE si trova all'esterno di un ciclo o di un


blocco.

1040 L'argomento <nome> viene dichiarato nuovamente.

1041 Codice operativo non supportato.

1042 <numero> non è un numero valido.

1043 Il numero non può essere più lungo di 132 cifre.

1044 Errore interno: indirizzo stack non valido.

1045 Errore interno: operazione pop dello stack non valida.

1046 Non esiste alcuna funzione con quel nome.

04-20006-02-it, marzo 2019 Tecnico


1891
61 Editor di script
61.3 Errori del compilatore di script

Continua
Errore Testo dell'errore

1047 La variabile non è un attributo.

1048 Nessuna virgoletta alla fine della stringa.

1054 Il nome del percorso è troppo lungo.

1055 L'attributo <nome> non si applica all'oggetto


<nome>.

1056 <nome> definisce un argomento che non può essere


una variabile locale.

1057 Tipo di voce di array errato.

1058 L'espressione dell'allarme è troppo grande.

1059 Impossibile impostare questa variabile. Assicurati che la


variabile non sia una variabile di input o di funzione.

1060 Impossibile impostare questo attributo.

1061 Tipo di identificatore di rotazione non valido.

1062 Impossibile abilitare o disabilitare quell'oggetto.

1064 Errore interno: overflow dello stack.

1065 Uso illegale di una variabile del ciclo FOR. È necessario


utilizzare una variabile numerica locale.

1067 Impossibile impostare una variabile di sistema.

1068 La dichiarazione è troppo lunga.

1069 Etichetta riservata al sistema.

1070 Funzionalità non supportata.

1071 Numero non intero.

1072 Sono stati passati troppi argomenti a una funzione.

Tieni presente che le funzioni Script supportano fino a


15 argomenti.

1073 Argomento fuori dall'intervallo dell'indice.

1074 Nessun carattere è consentito dopo il simbolo di


continuazione.

1075 Impossibile eseguire o arrestare il programma.

1076 Impossibile compilare il rapporto.

1077 Opzione di comando illegale.

Tecnico 04-20006-02-it, marzo 2019


1892
61 Editor di script
61.3 Errori del compilatore di script

Continua
Errore Testo dell'errore

1080 Il comando è valido solo in un programma o in una


funzione.

1081 Nome illegale nell'espressione di allarme.

1083 L'operazione non è disponibile.

1084 Numero totale di errori: <numero>

1086 Errore di sintassi, parola chiave imprevista


<keyword>

1087 Errore di sintassi, simbolo imprevisto <simbolo>

1088 Errore di sintassi, simbolo imprevisto.

1089 Errore di sintassi, commento inaspettato.

1090 La variabile locale <nome> non è un array.

1091 Errore di sintassi, fine riga inaspettata.

1092 Errore di sintassi, fine del file imprevista.

1093 File non salvato: non hai apportato alcuna


modifica.

1095 Nessun errore.

1096 Il numero totale di caratteri utilizzati nelle etichette delle


righe ha superato il limite massimo.

1097 L'oggetto <nome> e il programma non si trovano


nella stessa rete.

1098 Impossibile utilizzare l'attributo personalizzato in Programma e


Funzione.

1099 Numero di righe visualizzabili superato.

1100 Identificatore sconosciuto.

1101 Tipo di file sconosciuto.

1102 Fine del fascicolo.

04-20006-02-it, marzo 2019 Tecnico


1893
61 Editor di script
61.4 Errori di runtime dello script

61.4 Errori di runtime dello script


Gli errori di runtime dello script identificano i problemi che possono verificarsi nella programmazione dello script.

Tabella: messaggi di errore di runtime dello script

Testo dell'errore

Identificatore di sinistra del tipo di assegnazione non valido

Imposta la mancata corrispondenza del tipo

La variabile locale non esiste

Tipo di espressione non valido

Valore orario non valido

La stringa contiene più di 255 caratteri

Operazione non supportata

Overflow dello stack

Argomentazione illegale

Destinazione non valida

Tipo di identificatore non valido

Tipo di variabile non valido

Ho provato a dividere un valore per zero

Indice fuori intervallo

Indice di array non valido

Conteggio degli argomenti illegali

Valore DateTime non valido

Eseguite troppe istruzioni su una riga

La variabile del ciclo non è numerica

Errore durante l'interruzione del programma corrente

ID di importazione illegale

Nome del percorso errato

Utilizzo illegale degli attributi

Uscire dalla funzione utente

Valore impostato non valido

Preparazione non riuscita

Tecnico 04-20006-02-it, marzo 2019


1894
61 Editor di script
61.4 Errori di runtime dello script

Continua
Testo dell'errore

Impossibile leggere dal file di testo

Impossibile scrivere nel file di testo

Esecuzione non riuscita

Apertura del file di testo non riuscita

Comunicazione fallita

Impossibile impostare l'attributo

Ricorsione non supportata

04-20006-02-it, marzo 2019 Tecnico


1895
61 Editor di script
61.5 Funzionalità dell'editor di script

61,5 Funzionalità dell'editor di script


Esistono numerose funzionalità in Script Editor che consentono di migliorare la
leggibilità e l'efficienza dei programmi di script. Questi includono:
• Elementi e colori del programma

• Sequenza di tasti

• Segmenti di codice comprimibili

• Commenti
• Completamento automatico

• Valori iniziali delle variabili vincolanti

61.5.1 Elementi e colori del programma Script Editor


All'interno dello Script Editor, ogni elemento del programma viene visualizzato in un colore diverso per
differenziarlo dagli altri elementi del programma.

Per ulteriori informazioni, vedere la sezione 61.6 “Elementi e colori del programma Script
Editor” a pagina 1898.

61.5.2 Scorciatoie da tastiera per Script Editor


Puoi utilizzare le sequenze di tasti per modificare, spostare, trovare, tagliare e incollare il testo nell'editor di script.

Per ulteriori informazioni, vedere la sezione 61.7 “Scelte rapide da tastiera per Script Editor” a
pagina 1899.

61.5.3 Segmenti di codice comprimibili


Puoi migliorare la leggibilità dei tuoi programmi utilizzando segmenti di codice
comprimibili all'interno dello Script Editor.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

61.5.4 Commenti nei programmi di script


I commenti sono frasi facoltative utilizzate per documentare il funzionamento e
lo scopo dei programmi Script per il lettore.
Per ulteriori informazioni, vedere la sezione 61.13 “Commenti nei programmi di script” a pagina
1908.

Tecnico 04-20006-02-it, marzo 2019


1896
61 Editor di script
61.5 Funzionalità dell'editor di script

61.5.5 Completamento automatico dello script

È possibile utilizzare il completamento automatico per compilare il testo predittivo in base alle possibili
corrispondenze con il testo digitato. Intellisenso™è uno strumento di completamento automatico utilizzato
dal software EcoStruxure Building Operation per memorizzare una raccolta di parole chiave, nomi di funzioni
e costanti che è possibile utilizzare nella programmazione degli script.

Per ulteriori informazioni, vedere la sezione 61.10 “Completamento automatico dello script” a pagina 1904.

61.5.6 Valori iniziali delle variabili di associazione dell'editor di script


Nello Script Editor sono disponibili due modi diversi per impostare i valori delle variabili di associazione
iniziali:

• È possibile scrivere istruzioni nel programma Script


• È possibile utilizzare il campo Valore iniziale nel riquadro Variabili

Per ulteriori informazioni, vedere la sezione 61.12 “Valori iniziali delle variabili di associazione dello Script
Editor” a pagina 1906.

04-20006-02-it, marzo 2019 Tecnico


1897
61 Editor di script
61.6 Elementi e colori del programma Script Editor

61.6 Elementi e colori del programma Script


Editor
All'interno dello Script Editor, ogni elemento del programma viene visualizzato in un colore diverso per
differenziarlo dagli altri elementi del programma.

Tabella: Elementi del programma e colori predefiniti

Elemento del programma Colore predefinito

Testo Nero

Parola chiave Blu

Funzione Dodger Blu

Valore Marrone

Corda Rosso

Numero Marina Militare

Operatore Verde acqua

Commento Verde

Tecnico 04-20006-02-it, marzo 2019


1898
61 Editor di script
61.7 Scorciatoie da tastiera per Script Editor

61.7 Scorciatoie da tastiera per Script Editor


Puoi utilizzare le sequenze di tasti per modificare, spostare, trovare, tagliare e incollare il testo nell'editor di script.

Tabella: modifica e spostamento del testo

Pressione dei tasti Azione

Indietro Elimina qualsiasi testo selezionato o elimina


un carattere a sinistra del cursore.

CTRL+F Apre la finestra di dialogo Trova.

Ctrl+Ins o CTRL+C Copia il testo selezionato e lo memorizza


negli appunti.

Maiusc + Inserisci Inserisce il testo dove preferisci.

Eliminare Elimina il testo selezionato o elimina un


carattere a destra del cursore. Se il cursore è
alla fine di una riga, collega la riga a quella
successiva.

accedere Termina una riga e ne inizia una nuova.

Inserire Alterna tra due modalità:


• Inserisci – Inserimento di testo nel testo corrente

• Sovrascrivi: sovrascrivi il testo corrente

La modalità corrente è mostrata sulla barra di stato


nella parte inferiore della schermata Script Editor.

Maiusc+Canc o CTRL+X Taglia il testo selezionato e lo memorizza


negli appunti.

Maiusc+Ins o CTRL+V Incolla il testo tagliato o copiato per ultimo nella


posizione corrente del cursore nel programma.

04-20006-02-it, marzo 2019 Tecnico


1899
61 Editor di script
61.8 Segmenti di codice comprimibili

61.8 Segmenti di codice comprimibili


Puoi migliorare la leggibilità dei tuoi programmi utilizzando segmenti di codice
comprimibili all'interno dello Script Editor.

Puoi espandere o comprimere il codice per i seguenti tipi di segmenti di codice:

• Per il prossimo

• Mentre...Finire
• Ripeti...fino al
• Selezionare Caso...Fineseleziona

I segmenti di codice compressi vengono visualizzati come testo all'interno del programma accanto a un pulsante
Ingrandisci che indica il nome della parola chiave/compressore al posto delle righe di codice complete.

61.8.1 Appunti
Il riquadro Appunti viene utilizzato come area in cui archiviare gli elementi copiati e tagliati durante
la programmazione. È possibile incollare elementi dagli Appunti in uno qualsiasi dei riquadri
dell'editor del programma in uso. Ad esempio, facendo doppio clic su un elemento nel riquadro
degli appunti, è possibile inserire quel testo nel programma in cui si trova attualmente il cursore.

Puoi accedere ai comandi taglia, copia e incolla in due modi:


• Utilizzando i pulsanti della barra degli strumenti

• Attraverso l'uso di scorciatoie da tastiera

61.8.2 Libreria di codici


All'interno di Script Editor, la Libreria codici è un utile strumento di programmazione che consente di creare
più cartelle per salvare, organizzare e richiamare il testo utilizzato di frequente. Le cartelle vengono
archiviate sul PC e queste cartelle vengono visualizzate in ordine alfabetico nel riquadro Libreria codici.

Tecnico 04-20006-02-it, marzo 2019


1900
61 Editor di script
61.8 Segmenti di codice comprimibili

Figura: cartelle

Una cartella della libreria di codici è costituita da unità di testo utilizzate di frequente chiamate voci. Queste
voci possono essere singole parole, un'intera riga di codice, una funzione o persino un intero programma
Script. Puoi decidere quanto e quale tipo di testo viene memorizzato come elemento in base alle tue
preferenze di programmazione.

È inoltre possibile assegnare alle voci nomi significativi per identificarle e utilizzarle facilmente. È
possibile fare riferimento al file della libreria di codici da qualsiasi punto del PC utilizzato per eseguire
WorkStation.

Programmi, funzioni e file di importazione di esempio forniti dal sistema


La libreria di codici dell'editor di script contiene una serie di programmi, funzioni e file di
importazione di esempio forniti dal sistema che possono aiutare a risolvere problemi comuni. Ad
esempio, i file di importazione di esempio aiutano a implementare e utilizzare le funzionalità del
programma Script come i programmi di simulazione e di calcolo. La libreria di codici contiene l'intero
set di oggetti, come programmi, funzioni e valori necessari per il funzionamento dell'applicazione.

È possibile utilizzare questi programmi, funzioni e file di importazione di esempio forniti dal sistema
così come sono o come esempi durante lo sviluppo dei propri programmi Script. Si trovano nelle
cartelle designate nella Libreria codici.

04-20006-02-it, marzo 2019 Tecnico


1901
61 Editor di script
61.8 Segmenti di codice comprimibili

Figura: Programmi, funzioni e file di importazione della libreria di codici forniti dal sistema

Tecnico 04-20006-02-it, marzo 2019


1902
61 Editor di script
61.9 Aggiunta di una linea

61.9 Aggiunta di una linea

Aggiungi righe per specificare il tipo di azione che desideri che il tuo programma Script esegua. Una
riga è un'istruzione o una serie di istruzioni che appartengono insieme sotto un'etichetta di riga.

Per ulteriori informazioni, vedere la sezione 59.11 “Righe e numeri di riga” a pagina 1622.

Per aggiungere una linea

1. In Script Editor, digitare un'etichetta di riga preceduta daLineaparola chiave o seguito da due
punti, quindi aggiungere le istruzioni che appartengono all'etichetta della riga.

Ora hai aggiunto etichette di riga e istruzioni nel tuo programma.

04-20006-02-it, marzo 2019 Tecnico


1903
61 Editor di script
61.10 Completamento automatico dello script

61.10 Completamento automatico dello script

È possibile utilizzare il completamento automatico per compilare il testo predittivo in base alle possibili
corrispondenze con il testo digitato. Intellisenso™è uno strumento di completamento automatico utilizzato
dal software EcoStruxure Building Operation per memorizzare una raccolta di parole chiave, nomi di funzioni
e costanti che è possibile utilizzare nella programmazione degli script.

Queste corrispondenze vengono visualizzate per parole chiave, funzioni e costanti dello script. L'elenco
delle parole viene visualizzato in una casella a destra del cursore quando inizi a digitare una nuova parola.

Figura: completamento automatico

Man mano che vengono digitati più caratteri, l'elenco si restringe man mano che diminuiscono le possibili corrispondenze.
Se non ci sono corrispondenze, la casella si chiude automaticamente.

Le descrizioni comandi vengono visualizzate accanto alle opzioni di testo con informazioni su ciascuna, come la
descrizione della funzione, il nome della parola chiave e i parametri della funzione. È possibile utilizzare le descrizioni
comandi per completare automaticamente il testo selezionando una delle opzioni elencate.

Tecnico 04-20006-02-it, marzo 2019


1904
61 Editor di script
61.11 Utilizzo del completamento automatico dello script

61.11 Utilizzo del completamento automatico dello script

Per risparmiare tempo, utilizzi il completamento automatico per compilare il testo predittivo in base alle
possibili corrispondenze con il testo immesso nei programmi o nelle funzioni Script.

Per ulteriori informazioni, vedere la sezione 61.10 “Completamento automatico dello script” a pagina 1904.

Per utilizzare il completamento automatico dello script

1. In Script Editor, iniziare a digitare e notare il testo predittivo visualizzato per le parole
chiave, le funzioni e le costanti dello script.

2. Nell'elenco, fare doppio clic sul testo che si desidera utilizzare.

04-20006-02-it, marzo 2019 Tecnico


1905
61 Editor di script
61.12 Valori variabili iniziali di associazione dell'editor di script

61.12 Valori iniziali delle variabili di associazione dell'editor


di script
Nello Script Editor sono disponibili due modi diversi per impostare i valori delle variabili di associazione
iniziali:

• È possibile scrivere istruzioni nel programma Script


• È possibile utilizzare il campo Valore iniziale nel riquadro Variabili

61.12.1 Istruzioni nei programmi di script


È possibile scrivere istruzioni direttamente nel programma script utilizzando una riga di
inizializzazione, con una o più istruzioni che in genere impostano le variabili di output.

Inizializzazione:
Imposta Uscita1 su 1
Imposta Uscita2 su
2...
E:
'Si è verificato un errore, riavviare l'esecuzione,
andare a inizializzare

Mancia

Con questo metodo è possibile emettere un'istruzione GoTo sulla riga di inizializzazione in qualsiasi punto
del programma. Questa istruzione GoTo indica al programma di rieseguire le istruzioni di inizializzazione
e di ricominciare (in base alla logica di esecuzione del programma).

61.12.2 Campo valore iniziale del riquadro Variabili dell'editor di script


È possibile configurare i valori delle variabili di associazione iniziali utilizzando il campo Valore iniziale nel riquadro
Variabili di Script Editor.

Tecnico 04-20006-02-it, marzo 2019


1906
61 Editor di script
61.12 Valori variabili iniziali di associazione dell'editor di script

Figura: riquadro Variabili dell'editor di script

Quando si configurano i valori iniziali della variabile di associazione nel riquadro Variabili, il
programma utilizza tali valori. Tuttavia, quando tali variabili sono legate alle proprietà
dell'oggetto, il programma utilizza i valori delle variabili degli oggetti durante l'esecuzione,
anziché quelli iniziali del riquadro Variabili.

La tabella che segue spiega come configurare un valore iniziale per ciascun tipo di
variabile.

Tabella: Tipi di variabili del valore iniziale

Variabile Valore atteso Oggetto di configurazione

Galleggiante Numerico Casella di testo

Numero intero Numerico Casella di testo

Booleano Numerico Cadere in picchiata

Corda Corda Casella di testo

Appuntamento Appuntamento Selettore di data e ora

04-20006-02-it, marzo 2019 Tecnico


1907
61 Editor di script
61.13 Commenti nei programmi di script

61.13 Commenti nei programmi di script


I commenti sono frasi facoltative utilizzate per documentare il funzionamento e
lo scopo dei programmi Script per il lettore.
I commenti non vengono gestiti. I commenti vengono invece immessi come righe singole
precedute da una virgoletta singola (').

Nota
• Lo script supporta caratteri pari o inferiori a ASCII 127. I caratteri aggiuntivi non sono
supportati e vengono sostituiti da un punto interrogativo (?).

Figura: Commenti nel programma di script

Puoi aggiungere tutti i commenti necessari, ma ciascuno è limitato a una


riga fisica (132 caratteri).
Puoi anche aggiungere un commento dopo un'istruzione sulla stessa riga fisica, come
la seguente:

ACCENDERE LA VENTOLA e iniziare il raffreddamento

Tecnico 04-20006-02-it, marzo 2019


1908
61 Editor di script
61.14 Aggiunta di un commento

61.14 Aggiunta di un commento


I commenti facoltativi vengono utilizzati per documentare il funzionamento e lo scopo di un
programma o di una funzione Script.

Per ulteriori informazioni, vedere la sezione 61.13 “Commenti nei programmi di script” a pagina
1908.

Per aggiungere un commento

1. In Script Editor, digitare una virgoletta singola (') e quindi digitare un commento.

È possibile aggiungere un commento all'inizio del programma o della funzione per spiegarne lo scopo. È
inoltre possibile aggiungere commenti alla fine di qualsiasi istruzione in un programma o in una funzione
script.

04-20006-02-it, marzo 2019 Tecnico


1909
61 Editor di script
61.15 Controllo e salvataggio di un programma di script

61.15 Controllo e salvataggio di un programma di script


Controlla il tuo programma Script per assicurarti che non ci siano errori di sintassi. Si esegue un'operazione
di salvataggio per controllare e quindi salvare il programma Script.

Importante

Se salvi un programma che contiene errori, quel programma non verrà eseguito. Il programma deve
avere un controllo positivo prima di essere eseguito.

Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.

Per controllare e salvare un programma Script

1. Nell'editor di script, fare clic suControllo.


2. NelControlloriquadro, fare doppio clic su un messaggio di errore per passare alla riga di codice
che contiene l'errore.

3. Fare clicSalvaper controllare e salvare il programma Script.

Quando si salva un programma che contiene variabili Input, Output, Pubbliche, Funzione e
Servizio Web, le voci vengono aggiunte automaticamente alle schede di associazione
corrispondenti nel riquadro Proprietà.

L'editor di script visualizza aSalvataggio eseguito con successomessaggio, anche se il programma


contiene errori e non viene compilato correttamente.

Ora hai controllato e salvato il tuo programma Script.

Tecnico 04-20006-02-it, marzo 2019


1910
61 Editor di script
61.16 Esecuzione di un programma di script

61.16 Esecuzione di un programma di script


Si esegue un programma Script per dire al server EcoStruxure BMS di intraprendere un'azione
specifica per controllare un edificio.

Per ulteriori informazioni, vedere la sezione 59.17 “Attività” a pagina 1634.

Per eseguire un programma Script


1. Nella WorkStation, nelVisualizzazione elenco, selezionare il programma Script.

2. SulFilemenu, fare clicProprietà.

3. Fare clic suDi basescheda.

4. NelCompitocasella, inserisci l'attività che desideri aggiungere al programma.

5. Fare clicOK.

6. NelVisualizzazione elenco, seleziona il programma che desideri eseguire.

7. SulAzionimenu, fare clicRicomincia.

8. NelProprietà del programma script Di basescheda, osservare che i campi Runtime,


come TS, TM e TH, si aggiornano durante l'esecuzione del programma.

04-20006-02-it, marzo 2019 Tecnico


1911
61 Editor di script
61.17 Importazione del codice del programma script

61.17 Importazione del codice del programma script


Si importa il codice del programma Script per riutilizzare tutto o parte del codice esistente. Script Editor
supporta l'importazione di file .txt creati utilizzando lo strumento Plain English, nonché di file di programma
Script creati in precedenza.

Per ulteriori informazioni, vedere la sezione 59.10 “Istruzioni del programma script” a pagina
1620.

Per importare il codice del programma Script

1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il programma script o la


funzione in cui si desidera importare il codice programma.

2. SulAzionimenu, fare clicModificare.

3. In Script Editor posizionare il punto di inserimento nel programma o nella funzione in cui si desidera
importare il codice del programma.

4. Fare clic suMenù di scritturapulsante .


5. IndicaImportaree fare clicTestoOInglese semplice.

6. Seleziona il file che desideri importare.

7. Fare clicAprire.

8. Fare clicSalva.

Mancia

• Quando viene importato un file Plain English .txt, è necessario caricare il file e
completare un processo di conversione. Come risultato di queste conversioni,
potrebbe essere necessario apportare modifiche al codice del programma di script
importato.

Tecnico 04-20006-02-it, marzo 2019


1912
61 Editor di script
61.18 Esportazione di un programma di script

61.18 Esportazione di un programma di script


È possibile esportare il contenuto di qualsiasi file di programma in un file .txt nello Script Editor. Ciò
consente di esportare programmi e modificarli in un'applicazione di editor di testo separata dalla
WorkStation o scriverli in un file di testo per utilizzarli in un'altra posizione.

Nota
• Per importare testo in un nuovo programma, creare prima il programma in un editor di
testo e poi importare il file .txt.

Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.

Per esportare un programma Script

1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma Script o la funzione che


desideri aprire.

2. SulAzionimenu, fare clicModificare.

3. In Script Editor, seleziona il testo nel programma che desideri esportare.

4. Fare clic suMenù di scritturapulsante .

5. Fare clicEsportare.

6. Seleziona la posizione in cui desideri salvare il testo esportato.

7. NelNome del filecasella, inserisci un nome per il file .txt.

8. Fare clicSalva.

04-20006-02-it, marzo 2019 Tecnico


1913
61 Editor di script
61.19 Conversione di un file in inglese semplice

61.19 Conversione di un file in inglese semplice


Converti i file Plain English in Script per riutilizzare tutto o parte del codice Plain English
esistente.

Per convertire un file in inglese semplice

1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il programma di script o la


funzione in cui si desidera convertire il codice Plain English.

2. SulAzionimenu, fare clicModificare.

3. In Script Editor, posizionare il punto di inserimento nel programma o nella funzione in cui si
desidera importare il codice Plain English.

4. Fare clic suMenù di scritturaicona , puntare aImportaree quindi fare clicInglese


semplice.

5. NelImporta inglese semplicefinestra di dialogo, fare clicCarica fileper caricare un intero file PE
oppure incollare il testo desiderato dal programma o dalla funzione PE nel riquadro Plain
English Editor.

6. Selezionare [Link] che desideri convertire.

7. Fare clicAprire.

8. Converti tutto o parte del file:


• Fare clicConverti tuttoper convertire l'intero file PE in un programma Script.

• Selezionare le linee che si desidera convertire e quindi fare clicConverti selezionatoper


convertire le righe selezionate nel programma o nella funzione Script.

9. Correggere eventuali errori che si verificano durante la conversione.

10. Fare clicVicino.

11. DentroRedattore di script, fare clicSalva.

Tecnico 04-20006-02-it, marzo 2019


1914
61 Editor di script
61.20 Personalizzazione dell'editor di script

61.20 Personalizzazione dell'editor di script


Puoi personalizzare lo Script Editor e scegliere il layout, i numeri di riga o i colori preferiti che desideri
utilizzare. Puoi anche personalizzare l'aspetto degli elementi di programmazione per una facile
identificazione o selezionare un percorso da utilizzare con le librerie di codici e lo strumento di
importazione/esportazione.

Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.

Per personalizzare l'editor di script


1. Nell'editor di script, fare clic suOpzioni.

2. NelOpzionifinestra di dialogo, fare clic suGeneralescheda.

3. SelezionaDocumenti a schedeper visualizzare i programmi e le funzioni come


documenti a schede nello Script Editor.

4. SelezionaDocumenti multipliper visualizzare i programmi e le funzioni


come più documenti nello Script Editor.

5. SelezionaAbilita IntelliSenseper completare automaticamente parole chiave, nomi di


funzioni e costanti mentre crei programmi nello Script Editor.

Per ulteriori informazioni, vedere la sezione 61.10 “Completamento automatico dello script” a pagina
1904.

6. SelezionaAbilita strutturaper mostrare i segmenti di codice idonei per la compressione.

7. SelezionaMostra i numeri di rigaper visualizzare i numeri di riga nella finestra del programma.

8. Fare clicRipristina le impostazioni di defaultper ripristinare le impostazioni ai valori predefiniti.

9. Fare clic suCaratteri e colorischeda.

10. NelFontcasella, fare clic sul menu a discesa per selezionare il carattere che si desidera utilizzare.

11. NelMisurarecasella, selezionare la dimensione del carattere.

12. NelVisualizza elementielenco, seleziona l'elemento del linguaggio di programmazione Script che
desideri individuare ed evidenziare nel tuo programma.

Ad esempio, specifica che una stringa nel tuo programma Script sia evidenziata in rosso.

13. Fare clicFare domanda a. La stringa nel tuo programma Script è ora evidenziata.

14. Fare clic suPercorsischeda.

15. PerPercorso della libreria di codici, inserisci un percorso:

• Fare clicNavigareper individuare e selezionare un percorso.


ClicRistabilireper specificare il percorso predefinito.

16. PerPercorso di importazione/esportazione, inserisci un percorso:

• Fare clicNavigareper individuare e selezionare un percorso.

• Fare clicRistabilireper specificare il percorso predefinito.

17. Fare clicOK.

04-20006-02-it, marzo 2019 Tecnico


1915
61 Editor di script
61.21 Utilizzo di un blocco di codice script comprimibile

61.21 Utilizzo di un blocco di codice script comprimibile


Migliorerai la leggibilità dei programmi e delle funzioni Script utilizzando blocchi di codice
comprimibili all'interno di Script Editor. I blocchi di codice sono elementi che Script Editor
aggiunge automaticamente per determinati tipi di istruzioni di programma, ad esempio
For...Next, Repeat...Until, Select Case...Endselect e While...End while.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per utilizzare un blocco di codice script comprimibile

1. In Script Editor, creare un blocco di codice che determini i quadrati


utilizzando le istruzioni For...Next, Repeat...Until, Select Case...Endselect o
While...End while.

2. Espandi o comprimi il codice nel blocco di codice facendo clic+(Ingrandisci) o - (Riduci a


icona).

I blocchi di codice compressi vengono visualizzati come testo all'interno del programma accanto a un
pulsante + che indica la parola chiave/nome del collassatore al posto delle righe di codice complete.

Ora hai utilizzato un blocco di codice comprimibile.

Tecnico 04-20006-02-it, marzo 2019


1916
61 Editor di script
61.22 Aggiunta di una voce alla libreria codici

61.22 Aggiunta di una voce alla libreria di codici


È possibile aggiungere voci alla libreria di codici in Script Editor. Le voci possono essere singole parole, una riga di
codice completa, una funzione o un programma script.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per aggiungere una voce alla libreria di codici

1. In Script Editor, seleziona il testo che desideri salvare.

2. Fare clic con il tasto destro e selezionareAggiungi alla libreria.

3. NelAggiungi alla libreria codicifinestra di dialogo, nelNome della vocecasella, digitare un nome
per la voce.

4. NelCrea dentrocasella, selezionare una cartella della libreria di codici:

• Selezionare una cartella dall'elenco per aggiungere la voce a una cartella esistente.

• Fare clicNuova cartellaper aggiungere la voce a una nuova cartella.

5. Fare clicAggiungere.

04-20006-02-it, marzo 2019 Tecnico


1917
61 Editor di script
61.23 Utilizzo delle cartelle della libreria codici

61.23 Utilizzo delle cartelle della libreria di codici


È possibile aggiungere, eliminare e rinominare le cartelle della libreria di codici sul PC utilizzando Script
Editor. Una libreria di codici è composta da unità di testo utilizzate di frequente chiamate voci.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per lavorare con le cartelle della libreria di codici

1. Nell'editor di script, fare clic suBiblioteca.

2. NelBibliotecariquadro, fare clic su una cartella.

3. Per aggiungere una nuova cartella, fare clic con il tasto destro e fare clicNuova cartella. Quindi, inserisci un
nome per la cartella e fai clicOK.

4. Per modificare il nome di una cartella, fare clic con il tasto destro e fare clicRinomina cartella. Quindi, inserisci
un nuovo nome per la cartella e fai clicOK.

5. Per eliminare una cartella e il suo contenuto, fare clic con il pulsante destro del mouse e quindi fare clicElimina cartella. Quindi,

fare clicSÌ.

Tecnico 04-20006-02-it, marzo 2019


1918
61 Editor di script
61.24 Utilizzo dei file di importazione di esempio della libreria di codici

61.24 Utilizzo dei file di importazione di esempio della


libreria di codici
Puoi utilizzare i file di importazione di esempio forniti dal sistema nella libreria di codici di Script Editor per
sviluppare i tuoi programmi Script che utilizzano i servizi Web. In questa procedura, il file di importazione
di esempio fornisce i dati meteorologici, come temperatura e umidità, per una determinata città degli
Stati Uniti.

Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.

Per utilizzare i file di importazione di esempio della libreria di codici

1. Nell'editor di script, fare clic suBiblioteca.

2. NelBibliotecariquadro, fare clic suFile di importazione di esempio.

3. Fare doppio clic sul file di importazione di esempio desiderato, ad esempio il file WebService Restful GET
US City [Link].

Mancia

Per impostazione predefinita, il percorso per l'importazione è Server. Non puoi cambiare il
percorso.

4. Fare clicImportare.

Tutti gli oggetti contenuti nel file di esempio di importazione vengono creati
nel server EcoStruxure BMS.

5. Nella Visualizzazione elenco, fare clic suCittàvariabile.

6. SulFilemenu, fare clicProprietà.

7. NelDi basescheda, inserisci il nome della città.

8. Fare clicOK.

9. Trascina questi valori della città nel riquadro Orologio e osserva il funzionamento del
programma mentre ottiene la temperatura e le condizioni meteorologiche per Boston.

10. Nella Visualizzazione elenco, fare clic sul programma Ottieni meteo città USA tramite ZIP.

11. SulAzionimenu, fare clicModificare.

12. Visualizza e modifica il programma secondo necessità.

13. Fare clicSalvaper eseguire il programma aggiornato Get US City Weather by Zip.

04-20006-02-it, marzo 2019 Tecnico


1919
61 Editor di script
61.25 Utilizzo degli elementi della libreria codici

61.25 Utilizzo degli elementi della libreria di codici


Elementi come programmi e funzioni nella libreria di codici vengono utilizzati quando si sviluppano
programmi e funzioni script personalizzati.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per utilizzare gli elementi della libreria di codici

1. Nell'editor di script, fare clic suBiblioteca.

2. NelBibliotecariquadro, fare clic sulla cartella che contiene l'elemento.

3. Fare clic con il pulsante destro del mouse sull'elemento, quindi fare clic suRinomina elemento.

4. Immettere un nuovo nome nell'area evidenziata.

5. Per eliminare un elemento della libreria codici, fare clic suCancella oggettoe quindi fare clicSÌquando
richiesto.

6. Per spostare un elemento della libreria codici, fare clic suSposta nella cartellaquindi selezionare la posizione
della libreria codici dall'elenco.

Tecnico 04-20006-02-it, marzo 2019


1920
61 Editor di script
61.26 Inserimento di un elemento della libreria di codici in un programma o una funzione di script

61.26 Inserimento di un elemento della libreria di codici in un


programma o una funzione di script
Si inserisce un elemento della libreria di codici in un programma o una funzione script per aggiungere un'unità di testo
utilizzata di frequente, ad esempio una singola parola, un'istruzione di programma, una riga di programma o un set di
istruzioni oppure una funzione o un programma completo.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per inserire un elemento della libreria di codici in un programma o una funzione Script

1. In Script Editor, posizionare il punto di inserimento nel programma o nella funzione in cui si
desidera inserire l'elemento.

2. Fare clicBiblioteca.

3. NelBibliotecariquadro, fare clic sulla cartella che contiene l'elemento.

4. Fare clic con il pulsante destro del mouse sull'elemento e fare clicInserisci nell'editor.

L'elemento viene visualizzato nel punto di inserimento nel programma o nella funzione Script.

04-20006-02-it, marzo 2019 Tecnico


1921
61 Editor di script
61.27 Riferimento al file della libreria di codici

61.27 Riferimento al file della libreria di codici


Fai riferimento al file della libreria di codici da qualsiasi punto del PC in cui scegli di eseguire lo script.

Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.

Per fare riferimento al file della libreria di codici

1. Nell'editor di script, fare clic suOpzioni.

2. Fare clic suPercorsischeda.

3. PerPercorso della libreria di codici, inserisci un percorso:

• Fare clicNavigareper individuare e selezionare un percorso.

• Fare clicRistabilireper specificare il percorso predefinito.

4. Fare clicOK.

Tecnico 04-20006-02-it, marzo 2019


1922
61 Editor di script
61.28 Ricerca di testo nello Script Editor

61.28 Trovare testo nello Script Editor


È possibile trovare testo in un programma o in una funzione Script utilizzando il campo Trova della barra degli strumenti Script Editor.

Importante

• Utilizzare questo metodo quando si desidera cercare solo il programma corrente.

Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.

Per trovare testo in Script Editor


1. In Script Editor, posiziona il punto di inserimento nel punto in cui desideri iniziare la ricerca nel
programma o nella funzione.

2. NelTrovarecasella, digitare il testo o la stringa che si desidera trovare nel programma o nella
funzione.

3. Fare clic suTrovarebpulsante .

4. NelTrova e sostituiscifinestra di dialogo, fare clicTrovare.

5. Nel programma o nella funzione corrente, visualizzare i risultati evidenziati.

6. Fare clicaccedereper trovare l'istanza successiva del testo interrogato.

04-20006-02-it, marzo 2019 Tecnico


1923
61 Editor di script
61.29 Utilizzo di Annulla e Ripeti in Script Editor

61.29 Utilizzo di Annulla e Ripeti in Script Editor


Si utilizza il pulsante Annulla sulAccesso velocebarra degli strumenti in Script Editor per annullare l'ultima
pressione di tasto o azione. Puoi utilizzare il pulsante Ripristina per ripetere l'ultima sequenza di tasti o
l'ultima azione annullata in precedenza.

Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.

Per utilizzare Annulla e Ripeti in Script Editor

1. In Script Editor, fare clic suDisfareazione del per annullare l'ultima pressione di un tasto o

pulsante.

2. Fare clic suRifarepulsante per ripetere l'ultima sequenza di tasti o azione effettuata
precedentemente annullato.

Nota
• Il limite delle azioni Annulla e Ripeti è avanti o indietro di 24
istanze.

Tecnico 04-20006-02-it, marzo 2019


1924
61 Editor di script
61.30 Debug di script

61.30 Debug di script


Per risolvere problemi complessi, i programmi Script sono diventati sempre più
sofisticati. Con questa maggiore sofisticazione, individuare e risolvere i problemi nella
logica del programma è diventato ancora più difficile. Lo Script Debugger è progettato
per risolvere tali problemi.
Ad esempio, nello Script Debugger, puoi eseguire un singolo passaggio attraverso i tuoi programmi
Script e procedere alla riga di esecuzione successiva. Puoi tracciare visivamente il funzionamento
del tuo programma poiché evidenzia ogni istruzione in esecuzione, scoprendo potenzialmente
eventuali problemi nella logica del programma.

È inoltre possibile impostare un punto di interruzione per eseguire le seguenti operazioni:

• Stabilire una riga nel punto in cui si desidera che l'esecuzione del programma venga interrotta.

• Esaminare o modificare i valori delle variabili.

• Riprendere l'esecuzione da quel punto.

Quando imposti un punto di interruzione, potresti scoprire che l'istruzione su quella riga non
viene mai raggiunta, scoprendo un potenziale problema. La capacità di identificare i problemi nei
programmi Script è uno dei principali vantaggi di Script Debugger. Utilizzando le sue funzionalità
di modifica durante la sessione, puoi quindi modificare e risolvere qualsiasi problema identificato.

61.30.1 Modifica in modalità debug


Nello Script Debugger è possibile utilizzare le funzionalità di modifica della modalità debug che
consentono di ignorare le aree problematiche dei programmi Script e di risolverne i problemi in un
secondo momento. Ad esempio, puoi utilizzare le seguenti funzionalità

• La riga E ignora le condizioni di errore e continua a eseguire i programmi Script. È quindi possibile
tornare indietro in un secondo momento ed eliminare la condizione di errore correggendo la logica
del programma.

• Imposta istruzione successiva posiziona il cursore su qualsiasi istruzione o riga eseguibile nel
programma Script. Quella linea viene quindi evidenziata e quando si fa clicAndareo singolo
Fare un passo, viene giustiziato. L'esecuzione riprende o inizia dall'istruzione appena
selezionata, consentendoti così di ignorare i problemi fastidiosi del programma.

• Commenti selezionati consente di commentare una o più istruzioni selezionate nel programma
Script. In questo modo, si indica all'esecuzione del programma Script di ignorare le istruzioni
commentate nel Debugger finché non si identificano e si risolvono i problemi. Puoi anche
rimuovere il commento da una o più istruzioni selezionate e indirizzare il tuo programma ad
eseguirle. Ciò è particolarmente utile per eseguire il debug di programmi Script di grandi
dimensioni con un numero di cicli.

61.30.2 Eseguire il debug dei programmi script BACnet b3


La risoluzione diretta dei problemi relativi ai programmi script del dispositivo b3 BACnet non è supportata
nello Script Debugger. Tuttavia, è possibile creare un programma script del server SmartX che contenga una
logica simile. È quindi possibile utilizzare questo programma script del server SmartX per accedere ai punti
del dispositivo BACnet b3 ed eseguire il debug di quel programma. Tenere presente, tuttavia, che non tutte
le sintassi consentite nel dispositivo b3 BACnet sono disponibili in un server SmartX.

04-20006-02-it, marzo 2019 Tecnico


1925
61 Editor di script
61.30 Debug di script

Nota
Anche le chiamate a funzioni nidificate non sono supportate in Script Debugger.

Tecnico 04-20006-02-it, marzo 2019


1926
61 Editor di script
61.31 Tasti funzione dello Script Debugger

61.31 Tasti funzione dello Script Debugger


È possibile utilizzare i tasti funzione nello Script Debugger per passare alla riga di esecuzione successiva nel
programma script, impostare o rimuovere un punto di interruzione o eseguire continuamente il programma fino al
raggiungimento di un punto di interruzione.

Tasto funzione Azione Agisce come...

F5 Esegue continuamente un programma Facendo clicAndarenella barra degli

script fino al raggiungimento di un strumenti Script

punto di interruzione o al termine

dell'esecuzione.

F9 Imposta o rimuove un punto di Selezionando ilInserire


interruzione nel programma punto di rotturaelemento del menu

Script.

F10 Passa alla riga di esecuzione Facendo clicFare un passonella barra degli

successiva nel programma Script. strumenti Script

04-20006-02-it, marzo 2019 Tecnico


1927
61 Editor di script
61.32 Debug di un programma script

61.32 Debug di un programma di script


Utilizzare Script Debugger per risolvere i problemi relativi ai programmi Script creati.

Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.

Per eseguire il debug di un programma Script

1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma script di cui desideri eseguire il
debug.

2. SulAzionimenu, fare clicModificare.

3. Nella barra degli strumenti dell'editor di script, fare clic suInizioper avviare una sessione di debug dello script.

4. Eseguire il debug del programma Script.

5. Fare clicTraccia attivaper avviare un'operazione continua a passaggio singolo. Questo ti evita di
dover premere costantementeFare un passo.

Nota
L'icona accanto al nome del programma cambia per indicare che lo Script Editor è
ora in modalità Debug. Tieni presente che puoi eseguire il debug di un solo
programma alla volta.

6. Controllare l'operazione di traccia.


Per ulteriori informazioni, vedere la sezione 61.33 “Controllo dell'operazione di traccia
nello Script Debugger” a pagina 1929.

7. Fare clicFare un passoper passare alla riga di esecuzione successiva nel programma Script.

8. Fare clicAndareper eseguire continuamente un programma Script fino al raggiungimento di un punto di


interruzione o al termine dell'esecuzione

9. Fare clic con il tasto destro e selezionareInserisci punto di interruzioneper attivare o disattivare un punto di interruzione nel

programma Script.

I programmi vengono eseguiti finché non raggiungono un punto di interruzione programmato.

10. Posizionare il cursore su qualsiasi istruzione o riga eseguibile nel programma Script.

11. Fare clic con il tasto destro e selezionareImposta l'istruzione successivadal menu contestuale dell'editor di script.

Quella riga nel programma viene evidenziata.

12. Fare clicAndareo singoloFare un passoper eseguire quella dichiarazione.

L'esecuzione del programma riprende o inizia dall'istruzione appena selezionata.

13. Al termine, fare clic suFermareper terminare la sessione di debug dello script.

Tecnico 04-20006-02-it, marzo 2019


1928
61 Editor di script
61.33 Controllo dell'operazione di traccia nello Script Debugger

61.33 Controllo dell'operazione di traccia nello


Script Debugger
È possibile controllare l'operazione di traccia in Script Debugger impostando un punto di
interruzione o specificando la traccia temporale.

Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.

Per controllare l'operazione di traccia nello Script Debugger


1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma script di cui desideri eseguire il
debug.

2. SulAzionimenu, fare clicModificare.

3. Nella barra degli strumenti dell'editor di script, fare clic suOpzioni.

4. NelOpzionifinestra di dialogo, fare clicDebug.

5. Controllare l'operazione Traccia facendo clic suInterrompi nel punto di interruzione durante la tracciatura
casella di controllo.

6. NelTempo di traccia (ms)campo, immettere un valore che specifica la tempistica


dell'operazione di traccia.

Facoltativamente, è possibile regolare la frequenza di esecuzione delle istruzioni del


programma, ad esempio 0,25 o 0,50 di secondo.

7. Fare clicFare domanda a.

8. Fare clicOK.

04-20006-02-it, marzo 2019 Tecnico


1929
61 Editor di script
61.34 Modifica dei valori nel riquadro Variabili locali o di associazione di Script Debugger

61.34 Modifica dei valori nel riquadro delle variabili locali


o di associazione di Script Debugger
Nello Script Debugger è possibile utilizzare il fileLocaleOVariabili vincolantiriquadro per
ricalcolare i valori del programma Script.

Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.

Per modificare i valori nel riquadro delle variabili locali o di associazione di


Script Debugger

1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma script di cui desideri eseguire il
debug.

2. SulAzionimenu, fare clicModificare.

3. Fare clicInizioper accedere allo Script Debugger.

4. Nello Script Debugger, fare clic suValorecampo nelLocaleOVariabili


vincolantiPannello.

5. Digitare il nuovo valore e premere Invio.

6. Fare clicFermareper uscire dallo Script Debugger.

Tecnico 04-20006-02-it, marzo 2019


1930
61 Editor di script
61.35 Accesso al livello di priorità BACnet

61.35 Accesso al livello prioritario BACnet


A seconda che si stia configurando l'accesso al livello di priorità BACnet in
EcoStruxure Building Operation e Controller serie MP o nei programmi Script del
dispositivo BACnet b3, esistono diversi metodi diversi per configurare tale accesso.
Quando si configura l'accesso al livello di priorità BACnet nei programmi Script dei controller EcoStruxure Building
Operation e della serie MP, è necessario dichiarare una variabile di associazione del programma e associarla a una
proprietà di livello di priorità specifica. Non è possibile utilizzare direttamente il nome del percorso completo di un
oggetto.

Per ulteriori informazioni, vedere la sezione 61.36 “Configurazione dell'accesso al livello di priorità BACnet” a
pagina 1932.

Quando si configura l'accesso al livello di priorità BACnet nei programmi Script del dispositivo BACnet
b3, si utilizza il metodo di configurazione legacy perché b3 è un dispositivo BACnet legacy. Di
conseguenza, dichiari esplicitamente il livello di priorità creando una variabile vincolante nel
programma b3 Script. Quindi si associa quella variabile al valore attuale dell'oggetto comandabile
utilizzando la funzione WriteProperty o Relinquish. Altrimenti si presuppone il livello di priorità
predefinito.

Per ulteriori informazioni, vedere la sezione 61.37 “Configurazione dell'accesso al livello di priorità BACnet
per un dispositivo BACnet b3” a pagina 1933.

04-20006-02-it, marzo 2019 Tecnico


1931
61 Editor di script
61.36 Configurazione dell'accesso al livello di priorità BACnet

61.36 Configurazione dell'accesso al livello di priorità


BACnet
È necessario dichiarare una variabile di associazione del programma e associarla a una proprietà di livello
di priorità specifica quando si configura l'accesso al livello di priorità BACnet nei programmi Script del
controller EcoStruxure Building Operation e della serie MP.

Per ulteriori informazioni, vedere la sezione 61.35 “Accesso al livello di priorità BACnet” a pagina
1931.

Per configurare l'accesso al livello di priorità BACnet

1. Nella WorkStation, nelVisualizzazione elenco, selezionare un programma Script.

2. Fare clic con il pulsante destro del mouse e fare clicModificare.

3. Nello Script Editor, non utilizzare direttamente il nome del percorso completo di un oggetto.

4. Dichiarare una variabile di collegamento nel programma e collegarla a una proprietà di livello di
priorità specifica (da 1 a 16) di un oggetto comandabile.

5. Quindi, utilizzare il nome della variabile per impostare il valore del livello di priorità o
abbandonare il valore senza dover specificare il livello di priorità stesso nell'istruzione.

Nota
• Le parole chiave ReadProperty e WriteProperty sono disponibili in Script,
ma l'argomento del livello di priorità non è necessario nell'istruzione. Si
presume sulla base delle informazioni vincolanti.

6. Salva il tuo programma Script.

7. Fare clicUscita.

Tecnico 04-20006-02-it, marzo 2019


1932
61 Editor di script
61.37 Configurazione dell'accesso al livello di priorità BACnet per un dispositivo BACnet b3

61.37 Configurazione dell'accesso al livello di priorità


BACnet per un dispositivo BACnet b3
L'utente configura esplicitamente l'accesso al livello di priorità BACnet nei programmi script del
dispositivo b3 BACnet creando una variabile di collegamento nel programma script b3 e quindi
collegando tale variabile al valore attuale dell'oggetto comandabile.

Per ulteriori informazioni, vedere la sezione 61.35 “Accesso al livello di priorità BACnet” a pagina
1931.

Per configurare l'accesso al livello di priorità BACnet per un dispositivo BACnet


b3

1. DentroStazione di lavoro, nelVisualizzazione elenco, selezionare un programma Script.

2. Fare clic con il pulsante destro del mouse e fare clicModificare.

3. Nello Script Editor, creare una variabile di collegamento in un programma Script b3.

4. Associare la variabile vincolante al valore attuale dell'oggetto comandabile (ovvero,


non a un livello di priorità specifico).

5. Utilizzare le parole chiave ReadProperty, WriteProperty o Relinquish.

Assicurati di utilizzare il nome della variabile di associazione anziché il nome del percorso completo
dell'oggetto.

6. Specificare il livello di priorità secondo necessità.

7. Salva il tuo programma Script.

8. Fare clicUscita.

04-20006-02-it, marzo 2019 Tecnico


1933
62 Servizi Web di script

Temi
Servizi Web di script
Flusso di lavoro dei servizi Web script Creazione di un'interfaccia

del servizio Web script Configurazione di un'interfaccia del servizio

Web script Configurazione di un programma script per utilizzare i

servizi Web Tipo di dati dei servizi Web SOAP script

Script di servizi Web RESTful


Utilizzo dello script per inviare una richiesta a un servizio Web RESTful
Utilizzo di script per ottenere una pagina Web protetta da un servizio
Web RESTful
62 Servizi Web di script
62.1 Servizi Web di script

62.1 Servizi Web di script


I servizi Web sono applicazioni programmabili accessibili da protocolli Internet standard, come HTTP
e XML. I servizi Web aiutano a risolvere le sfide dell'integrazione delle applicazioni consentendo alle
applicazioni di comunicare tra loro indipendentemente dalla destinazione, dal sistema operativo
host, dal modello a oggetti o dal linguaggio di programmazione.

Figura: Panoramica dei servizi Web

I servizi Web sono progettati per supportare l'interazione interoperabile da macchina a


macchina su una rete. Di conseguenza, ha perfettamente senso utilizzare un servizio Web da
un linguaggio di programmazione, come Script. Poiché il servizio Web è un'applicazione fornita
e utilizzata con i normali standard Internet, il servizio Web funziona come un URL restituendo a
livello di codice informazioni che i client possono utilizzare.

L'URL funge da URI che specifica la posizione, identifica la risorsa disponibile e fornisce
un meccanismo per recuperarla. Ad esempio, i seguenti URL identificano i calcolatori
online e i servizi meteorologici disponibili:
• [Link]
• [Link]
Per interagire con i servizi Web, Script utilizza il file WSDL (Web Services Description
Language) per estrarre informazioni su funzioni, parametri e tipi restituiti. WSDL è un
linguaggio basato su XML che fornisce un modello per descrivere i servizi Web. Per
ulteriori informazioni, vedere la sezione 182.2 “Servizi Web” a pagina 6932.

62.1.1 Script del flusso di lavoro dei servizi Web


Crei e configuri uno Script W eb Service seguendo questi quattro passaggi fondamentali: e

• Creare l'interfaccia del servizio Web

• Configurare il Web Service inter viso


• Creare un programma di script

• Configurare il programma di script su utilizzare i servizi Web

04-20006-02-it, marzo 2019 Tecnico


1937
62 Servizi Web di script
62.1 Servizi Web di script

Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.

62.1.2 Tipo di dati dei servizi Web SOAP script


Il Simple Object Access Protocol (SOAP) è un protocollo per lo scambio di informazioni
strutturate durante l'implementazione dei servizi Web nelle reti di computer. Il tipo di
dati Servizio Web supporta l'interazione tra un servizio Web basato su SOAP e uno script.

Per ulteriori informazioni, vedere la sezione 62.6 “Tipo di dati dei servizi Web SOAP script” a pagina
1944.

62.1.3 Script servizi Web RESTFul


REST (Representational State Transfer) è uno stile di architettura software per sistemi
ipermediali distribuiti, come il World Wide Web. REST è emerso come modello di progettazione
di servizi Web predominante poiché è più leggero e semplice da utilizzare rispetto a SOAP.

Per ulteriori informazioni, vedere la sezione 62.7 “Servizi Web RESTful di script” a pagina
1948.

Tecnico 04-20006-02-it, marzo 2019


1938
62 Servizi Web di script
62.2 Flusso di lavoro dei servizi Web di script

62.2 Script del flusso di lavoro dei servizi Web


Puoi creare e configurare un servizio Web Script seguendo questi quattro passaggi fondamentali:

• Creare l'interfaccia del servizio Web


• Configurare l'interfaccia del servizio Web

• Creare un programma di script

• Configurare il programma di script per utilizzare i servizi Web

Ad esempio, puoi utilizzare il servizio di calcolatrice online della Florida State University per
aggiungere 2 numeri e calcolare il risultato. In WorkStation, crei un'interfaccia del servizio
Web Script denominata Calcolatrice e configuri questa interfaccia inserendo la posizione del
servizio che desideri utilizzare come target. In questo esempio, inserisci l'URL di un file WSDL
situato in [Link]

Quindi creare un programma script denominato Programma calcolatrice e configurare questo


programma script per utilizzare i servizi Web. In questo esempio si utilizza la parola chiave
Webservice per dichiarare il servizio Web nel programma.

04-20006-02-it, marzo 2019 Tecnico


1939
62 Servizi Web di script
62.2 Flusso di lavoro dei servizi Web di script

Tecnico 04-20006-02-it, marzo 2019


1940
62 Servizi Web di script
62.3 Creazione di un'interfaccia di servizio Web di script

62.3 Creazione di un'interfaccia di servizio Web di script


Crei un servizio Web Script per identificare e fornire con protocolli Internet
standard un'applicazione che puoi utilizzare come servizio.
Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.

Per creare un'interfaccia del servizio Web di script

1. Nella WorkStation, nelAlbero del sistemapannello, selezionare il server EcoStruxure BMS


o la cartella in cui si desidera creare un'interfaccia del servizio Web.

2. SulFilemenu, puntare aNuovoe fare clicInterfaccia.

3. NelCrea oggettoprocedura guidata, nell'elenco dei tipi di oggetto, espandereServizio web e


quindi fare clicServizio Web di script.

4. NelCasella del nome, digitare il nome dell'interfaccia del servizio Web.

5. NelDescrizionecasella, digitare una descrizione dell'interfaccia del servizio Web.

6. Fare clicCreare.

04-20006-02-it, marzo 2019 Tecnico


1941
62 Servizi Web di script
62.4 Configurazione di un'interfaccia di servizio Web script

62.4 Configurazione di un'interfaccia di servizio


Web di script
Puoi configurare un'interfaccia del servizio Web Script inserendo l'URL o il percorso del file
WSDL e quindi specificando il servizio a cui desideri rivolgerti.

Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.

Per configurare un'interfaccia del servizio Web Script


1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare l'interfaccia del servizio Web.

2. SulFilemenu, fare clicProprietà.

3. Fare clic suDi basescheda.

4. NelURL WsdlNella casella digitare l'URL o un file WSDL che si trova su un PC locale o su
Internet.

5. NelServiziocasella, inserisci il nome del servizio che desideri scegliere come target.

Mancia

• Quando crei un servizio Web, devi assicurarti che il tuo PC possa


connettersi al servizio di destinazione.

6. NelPunto finaleNella casella digitare l'URL della macchina su cui vengono elaborate le
chiamate al servizio Web.

Nota
• In genere, il file WSDL definisce l'EndPoint, nel qual caso questa casella viene
completata automaticamente. In alcune circostanze, tuttavia, potrebbe essere
comunque necessario inserire un EndPoint.

7. Fare clicOK.

Tecnico 04-20006-02-it, marzo 2019


1942
62 Servizi Web di script
62.5 Configurazione di un programma di script per utilizzare i servizi Web

62,5 Configurazione di un programma di script per


utilizzare i servizi Web
Si seleziona un programma Script e quindi si configura quel programma per utilizzare i servizi Web.

Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.

Per configurare un programma Script per utilizzare i servizi Web

1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il programma Script che si


desidera utilizzare i servizi Web.

2. SulAzionimenu, fare clicModificare.

3. In Script Editor, utilizzare la parola chiave Webservice per dichiarare il servizio Web nel
programma.

4. Nella barra degli strumenti dell'editor di script, fare clic suSalva.

5. NelProprietàriquadro, fare clic suServizi webscheda.

6. Immettere il percorso dell'interfaccia del servizio Web Script.

7. Nella barra degli strumenti Script Editor, fare clic suSalva.

8. Continua a costruire il tuo programma Script.

9. Nella barra degli strumenti dell'editor di script, fare clic suSalva.

10. NelVariabiliriquadro, visualizzare i risultati del programma Servizio Web.

04-20006-02-it, marzo 2019 Tecnico


1943
62 Servizi Web di script
62.6 Tipo di dati servizi Web SOAP script

62.6 Tipo di dati dei servizi Web SOAP script


Il Simple Object Access Protocol (SOAP) è un protocollo per lo scambio di informazioni
strutturate durante l'implementazione dei servizi Web nelle reti di computer. Il tipo di
dati Servizio Web supporta l'interazione tra un servizio Web basato su SOAP e uno script.

SOAP si basa su XML per il formato dei messaggi e solitamente si affida ad altri protocolli
applicativi per la negoziazione e la trasmissione dei messaggi. SOAP può costituire il livello di
base per i servizi Web e fornire anche una struttura di messaggistica di base su cui sono
costruiti i servizi Web.

Si associa l'oggetto Servizi Web Script a un programma Script corrispondente. Una


volta fatto ciò, Script estrae tutto il materiale necessario, inclusi i metodi, il tipo di
dati per gli argomenti e i valori restituiti e i relativi tipi.

Figura: modello a oggetti dei servizi Web

L'editor di script visualizza quindi Web Intellisense Metodi dei servizi che utilizzano Intellisense.
è un completamento automatico per le possibili ol che usi per compilare il testo predittivo basato su e.
corrispondenze con il testo digitato Per ulteriori informazioni, vedere la sezione 61.10
“Completamento automatico dello script” a pagina 1 904.

Tecnico 04-20006-02-it, marzo 2019


1944
62 Servizi Web di script
62.6 Tipo di dati servizi Web SOAP script

62.6.1 Tipi di dati supportati


Sono supportati solo tipi di dati semplici sia per i metodi del servizio Web che per i valori
restituiti, tra cui:

• Corda
• Numeri
• Appuntamento

Mancia

Le chiamate al metodo del servizio Web necessitano di righe di esecuzione specifiche all'interno dei programmi script.

62.6.2 Dichiarazioni dei servizi Web


Dichiari un servizio Web nello stesso modo in cui dichiari una funzione. Puoi farlo utilizzando la
parola chiave Webservice seguita da un nome di variabile locale all'inizio del tuo programma Script.
Quindi, si associa un oggetto Servizio Web al programma Script utilizzando l'associazione generata
da questa dichiarazione del Servizio Web come mostrato:

Figura: Dichiarazioni dei servizi Web

04-20006-02-it, marzo 2019 Tecnico


1945
62 Servizi Web di script
62.6 Tipo di dati servizi Web SOAP script

62.6.3 Chiamata al metodo del servizio Web


In Script Editor, utilizzare la sintassi .(punto) per selezionare il metodo di esecuzione del servizio
Web come mostrato qui.

Figura: Servizi Web. Notazione (punto).

Mancia

I programmi di script non supportano la compressione nel software EcoBuilding Building Operation.
Quando un programma script tenta di chiamare un metodo di servizio Web che utilizza la
compressione, l'operazione non riesce e il programma non viene eseguito come previsto.

62.6.4 Selezione del servizio Web ed endpoint


Seleziona il servizio Web che desideri scegliere come target inserendo l'URL Wsdl nella scheda
Base. In questo caso, l'URL identifica un servizio di calcolo online. Il campo Servizio viene
popolato quando si immette un URL del servizio Web valido. Un file WSDL può contenere uno o
più servizi.

Tecnico 04-20006-02-it, marzo 2019


1946
62 Servizi Web di script
62.6 Tipo di dati servizi Web SOAP script

Figura: Selezione del servizio Web

Mancia

Quando crei un servizio Web, assicurati che il tuo PC possa connettersi al servizio di
destinazione.

L'EndPoint è un riferimento a un'entità, un processore, una macchina o una risorsa per i messaggi e
le chiamate del servizio Web di destinazione. Rappresenta l'URL della macchina su cui vengono
elaborate le chiamate al servizio Web. In genere, le informazioni sugli EndPoint sono incorporate nei
file WSDL. In questi casi, la casella viene completata automaticamente. In alcune circostanze,
tuttavia, potrebbe essere comunque necessario inserire un EndPoint.

04-20006-02-it, marzo 2019 Tecnico


1947
62 Servizi Web di script
62.7 Script di servizi Web RESTful

62.7 Script di servizi Web RESTful


REST (Representational State Transfer) è uno stile di architettura software per sistemi
ipermediali distribuiti, come il World Wide Web. REST è emerso come modello di progettazione
di servizi Web predominante poiché è più leggero e semplice da utilizzare rispetto a SOAP.

REST definisce un insieme di principi architettonici che è possibile utilizzare per connettersi ai servizi
Web incentrati sulle risorse di un sistema. Ciò include il modo in cui gli stati delle risorse vengono
indirizzati e trasferiti tramite Hypertext Transfer Protocol (HTTP) da un'ampia gamma di client scritti
in diverse lingue. Per ulteriori informazioni, vedere la sezione 62.6 “Tipo di dati dei servizi Web SOAP
script” a pagina 1944.

Lo script supporta l'uso generico dei servizi Web REST tramite le nuove API
(Application Programming Interface).

62.7.1 InviaWebRequest
La funzione di sistema SendWebRequest invia una richiesta a un URL (Uniform Resource
Locator). Le richieste vengono inviate dal programma in esecuzione in Script a un particolare
Universal Resource Identifier (URI) seguendo i protocolli HTTP standard.

Nota
SendWebRequest non è supportato nel controller della serie MP.

La sintassi per SendWebRequest è la seguente:

SendWebRequest(BaseUrl,Metodo,ContentType,Intestazioni,Messaggio) Dove:

• BaseUrl – Una stringa con la posizione dell'URL di base per richiedere i dati.

• Metodo: una stringa che contiene il tipo di metodo per accedere all'URL. Può
assumere i seguenti valori:
- "INVIARE"

- "OTTENERE"

• Intestazioni: le intestazioni del messaggio HTTP. I campi di intestazione sono coppie nome-
valore separate da due punti che possono essere concatenate con punto e virgola (ad
esempio, "IsMobileApp:TRUE;IsAndroidClient:TRUE")

• ContentType – Una stringa che contiene il tipo di contenuto. Di solito è definito dall'URL di
destinazione stesso.

• Messaggio: una stringa che contiene il messaggio inviato all'URL. Di solito è nei valori
della stringa di query.

Il valore restituito è una stringa, solitamente in XML, che contiene la risposta del Web
Service.

Tecnico 04-20006-02-it, marzo 2019


1948
62 Servizi Web di script
62.7 Script di servizi Web RESTful

62.7.2 Codifica URL


La funzione di sistema UrlEncode codifica l'intero URL, incluso il messaggio con i relativi valori
della stringa di query. Se caratteri come spazi, segni di punteggiatura e operazioni aritmetiche
vengono passati direttamente al flusso HTTP, potrebbero essere interpretati erroneamente e
restituire risultati errati. Questa funzione converte i caratteri non consentiti in un URL nei loro
equivalenti.

Nota
UrlEncode non è supportato nel controller della serie MP.

La sintassi per UrlEncode è la seguente:

Codifica URL(Messaggio)
Dove:
Il messaggio è una stringa che necessita della codifica dell'URL.

Il valore restituito è una stringa con caratteri validi trasmessa dal flusso HTTP.

04-20006-02-it, marzo 2019 Tecnico


1949
62 Servizi Web di script
62.8 Utilizzo di script per inviare una richiesta a un servizio Web RESTful

62.8 Utilizzo dello script per inviare una richiesta a


un servizio Web RESTful
È possibile utilizzare la funzione di sistema SendWebRequest per inviare una richiesta a un servizio Web
RESTful. In questa procedura si utilizza SendWebRequest per richiedere i dati meteorologici delle città degli
Stati Uniti.

Per ulteriori informazioni, vedere la sezione 62.7 “Servizi Web RESTful di script” a pagina
1948.

Per utilizzare Script per inviare una richiesta a un servizio Web RESTful
1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il server EcoStruxure BMS
o la cartella in cui si desidera creare un programma Script.

2. SulFilemenu, puntare aNuovoe quindi fare clicProgramma.

3. NelCrea oggettomago, nelNomecasella, inserisci il nome del tuo nuovo


programma Script, ad esempio Get US City Weather by ZIP.

4. NelDescrizionecasella, digitare una descrizione del programma.

5. Fare clicCreare.

6. Nella Visualizzazione elenco, fare clic sul nuovo programma Weather by ZIP Script.

7. Fare clicModificare.

8. Sviluppare un programma Script utilizzando la funzione di sistema SendWebRequest e i


seguenti parametri:

• BaseUrl – [Link]
• Metodo – OTTIENI

• Tipo di contenuto – txt/xml

• Intestazioni – ""

• Messaggio -
/WeatherWS/[Link]/GetCityWeatherbyZIP?ZIP=02109

9. Nella barra degli strumenti dell'editor di script, fare clic suSalva.

10. Chiudere l'editor di script.

11. Nella Visualizzazione elenco, fare clic sul programma Ottieni meteo città USA tramite ZIP Script.

12. NelAzionimenu, fare clicRicominciaper avviare il programma Script.

13. Nel menu File, fare clic suFilepoiProprietà.

14. Fare clic suUscitescheda e osservare l'output resultXMLString per il codice postale
02109.

Il tempo attuale per Boston è il seguente:


• Descrizione – Nuvoloso

• Temperatura – 34°F
• Umidità relativa – 72%
• Vento - Nord a 13 MPH
• Pressione barometrica – 30,45 costante

Tecnico 04-20006-02-it, marzo 2019


1950
62 Servizi Web di script
62.9 Utilizzo di script per ottenere una pagina Web sicura da un servizio Web RESTful

62.9 Utilizzo di script per ottenere una pagina Web


protetta da un servizio Web RESTful
È possibile utilizzare la funzione di sistema SendWebRequest per ottenere una pagina Web sicura da
un servizio Web RESTful. In questa procedura si ottiene una pagina dell'autorità di certificazione SSL
sicura.

Per ulteriori informazioni, vedere la sezione 62.7 “Servizi Web RESTful di script” a pagina
1948.

Per utilizzare Script per ottenere una pagina Web sicura da un servizio Web
RESTful
1. Nella WorkStation, nelAlbero del sistemariquadro, selezionare il server EcoStruxure BMS
o la cartella in cui si desidera creare un programma Script.

2. SulFilemenu, fare clicNuovoEProgramma.

3. NelCrea oggettomago, nelNomecasella, digitare il nome del nuovo programma


Script, ad esempio Ottieni pagina Web protetta.

4. NelDescrizionecasella, inserire una descrizione del programma.

5. Fare clicCreare.

6. Nella Visualizzazione elenco, fare clic sul nuovo programma Ottieni pagina Web protetta.

7. Fare clicModificare.

8. Sviluppare un programma Script utilizzando la funzione di sistema SendWebRequest e i


seguenti parametri:

• BaseUrl – [Link]
• Metodo – OTTIENI

• Tipo di contenuto – txt/xml

• Intestazioni – ""

• Messaggio – Nessuno

9. Nella barra degli strumenti dell'editor di script, fare clic suSalva.

10. Chiudere l'editor di script.

11. Nella Visualizzazione elenco, fare clic sul programma Ottieni script pagina Web protetta.

12. NelAzionimenu, fare clicRicominciaper avviare il programma Script.

13. Nel menu File, fare clic suFilepoiProprietà.

14. Fare clic suUscitescheda e osservare l'output webPageString.

04-20006-02-it, marzo 2019 Tecnico


1951
63 Interfaccia utente dello script

Temi
Redattore di script

Barre degli strumenti dell'editor di script

Editor di script – Editor di script del riquadro Variabili

di associazione – Menu contestuale dell'editor di

script del riquadro Variabili locali

Importa libreria di codici dell'editor di script della

finestra di dialogo in inglese semplice

Proprietà del programma Script – Proprietà del


programma Script Scheda Base – Proprietà del
programma Script Scheda Avanzate – Proprietà del
programma Script Scheda Ingressi – Proprietà del
programma Script Scheda Uscite – Proprietà del
programma Script Scheda Pubblici – Proprietà del
programma Script Scheda Funzioni – Proprietà della
funzione Script scheda Servizi Web – Scheda Base
Proprietà funzione Script – Scheda Ingressi
Proprietà funzione Script – Scheda Uscite
Proprietà funzione Script – Scheda Pubblici
Proprietà funzione Script – Scheda Funzioni
Servizio Web Script – Scheda Base
63 Servizio Web Script – Scheda Metodi
63 Interfaccia utente script
63.1 Editor di script

63.1 Redattore di script


Utilizzare lo Script Editor per sviluppare programmi Script.

Figura:

Tabella: editor di script

Numero Descrizione

Barre degli strumenti dell'editor di script

Utilizzare le barre degli strumenti per eseguire una serie di


funzioni, tra cui apertura, chiusura, salvataggio, stampa,
importazione ed esportazione di programmi Script.

Riquadro degli appunti

Utilizzare questo riquadro per memorizzare gli elementi copiati e


tagliati da utilizzare nella programmazione degli script. Facendo
doppio clic su un elemento nel riquadro degli appunti, è
possibile inserire il testo nel programma nel punto in cui si trova
attualmente il cursore.

04-20006-02-it, marzo 2019 Tecnico


1955
63 Interfaccia utente script
63.1 Editor di script

Continua
Numero Descrizione

Barra di stato

Utilizzare questo riquadro per esaminare il percorso del


programma o della funzione script attivo. È possibile
visualizzare la riga e la colonna in cui si trova il cursore
posizionato nel riquadro dell'editor corrente. La
barra di stato identifica anche il metodo di input,
Inserisci o Sovrascrivi, attualmente utilizzato
nell'editor.

Riquadro Libreria codici

Utilizzare questo riquadro per creare e visualizzare le


cartelle e le voci contenute nella libreria di codici. È
possibile utilizzare la Libreria codici per creare più
cartelle in cui salvare, organizzare e richiamare il testo
utilizzato di frequente. È inoltre possibile utilizzare i
programmi e le funzioni forniti dal sistema disponibili
nella Libreria codici durante lo sviluppo dei programmi
e delle funzioni Script.

Riquadro Proprietà

Utilizzare questo riquadro per visualizzare e modificare


le informazioni generali, di configurazione e di runtime
sui programmi e sulle funzioni Script e sulle relative
schede di input e output.

Riquadro Variabili locali

Riquadro Variabili di associazione

Utilizzare questi riquadri per visualizzare e modificare le


proprietà delle variabili locali o di collegamento nell'editor
di script.

Per ulteriori informazioni, vedere la sezione


63.4 “Script Editor – Riquadro Variabili locali” a
pagina 1962.

Per ulteriori informazioni, vedere la sezione 63.3 “Script


Editor – Riquadro delle variabili di associazione” a pagina
1961.

Riquadro di controllo

Utilizzare questo riquadro per rivedere i risultati della


compilazione del programma, inclusi eventuali errori di
sintassi. Se lo Script Editor controlla un programma e non
trova errori, viene visualizzato il messaggio Controllo
riuscito. Se si verificano errori, vengono visualizzati con il
numero del messaggio di errore, la posizione della riga e
della colonna all'interno del programma e il testo o le parole
chiave coinvolte.

Tecnico 04-20006-02-it, marzo 2019


1956
63 Interfaccia utente script
63.1 Editor di script

Continua
Numero Descrizione

Riquadro Trova

Utilizzare questo riquadro per individuare e visualizzare


il testo richiesto. Il riquadro Trova visualizza il testo
richiesto tra virgolette sulla prima riga del riquadro, il
programma aperto in cui si trova l'istanza, il numero di
riga all'interno del programma in cui è possibile trovare
il testo e il contesto in cui viene trovato il testo richiesto.

Visualizzazione degli attacchi

Fare clic per visualizzare la vista Associazioni per un


programma Script. È possibile accedere alla
visualizzazione Associazioni senza uscire dallo Script
Editor. Per ulteriori informazioni, vedere la sezione 59.16
“Dichiarazioni di variabili locali” a pagina 1630.

04-20006-02-it, marzo 2019 Tecnico


1957
63 Interfaccia utente dello script 63.2 Barre

degli strumenti dell'editor dello script

63.2 Barre degli strumenti dell'editor di script

Usa ilRedattore di scriptbarra degli strumenti per eseguire una serie di attività diverse all'interno
dell'applicazione.

Figura: Barre degli strumenti dello Script Editor

Tabella: Barre degli strumenti dell'editor di script

Pulsante Descrizione

Aprire

Fare clic per aprire un programma o una funzione


Script o b3 esistente.

Salva
Fare clic per salvare il programma attualmente attivo.

Salva tutto

Fare clic per salvare tutti i programmi aperti.

Stampa

Fare clic per stampare il programma corrente.

Taglio

Fare clic per tagliare il testo selezionato.

copia
Fare clic per copiare il testo selezionato.

Impasto

Fare clic per incollare il testo.

Finestra
Fare clic per aprire un riquadro o attivare un riquadro ridotto a
icona.

Opzioni
Fare clic per configurare le opzioni dell'editor del programma
come caratteri, colori, layout e percorso della libreria di
codici.

ricaricare

Fare clic per aggiornare la finestra di focus nello


Script Editor.

Tecnico 04-20006-02-it, marzo 2019


1958
63 Interfaccia utente script
63.2 Barre degli strumenti dell'editor di script

Continua
Pulsante Descrizione

Associazioni di script

Fare clic per visualizzare la vista di associazione script


di sola lettura che mostra il percorso per le variabili di
associazione locali nei programmi script.

Controllo

Fare clic per verificare la presenza di errori di sintassi in un file di

programma.

Seleziona tutto

Fare clic per verificare la presenza di errori di sintassi in tutti i file di

programma aperti.

Inizio

Avvia una sessione di Script Debugger. Man mano che


il debugger procede, evidenzia la riga attualmente in
esecuzione nel programma Script.

Fermare

Termina una sessione di Script Debugger.

Traccia attiva

Avvia un'operazione continua a passaggio singolo senza la


necessità di continuare a premere il pulsanteFare un passo
icona.

Traccia disattivata

Termina l'operazione continua a passo


singolo.

Andare

Esegue continuamente un programma script fino al raggiungimento di

un punto di interruzione o al termine dell'esecuzione.

Fare un passo

Passa alla riga di esecuzione successiva nel


programma Script.

Trovare

Fare clic per trovare una parola specifica nel


programma corrente.

Sostituire

Fare clic per sostituire una parola specifica nel programma


corrente.

Aiuto

Fare clic per visualizzare gli argomenti della guida per la

programmazione degli script.

04-20006-02-it, marzo 2019 Tecnico


1959
63 Interfaccia utente dello script 63.2 Barre

degli strumenti dell'editor dello script

Continua
Pulsante Descrizione

Pulsante del menu script

Fare clic per aprire il menu Script.

Menù di scrittura

Fare clic per aprire, salvare, importare, esportare, stampare o


chiudere un [Link] l'oggetto Script
corrente in un file di [Link] testo da un file
di testo o apre il fileImporta inglese semplicefinestra di
dialogo che consente di importare testo in inglese normale
per la conversione. Per ulteriori informazioni, vedere la
sezione 63.6 “Finestra di dialogo Importa inglese semplice” a
pagina 1965.

Salva
Fare clic per salvare un programma o una funzione script.

Disfare

Fare clic per annullare o ripristinare una sequenza di


tasti o un'azione nello Script Editor all'ultimo stato del
testo.

Rifare

Fare clic per ripetere o andare avanti di una sequenza


di tasti o di un'azione nello Script Editor fino allo stato
del testo precedentemente annullato.

Personalizza la barra degli strumenti di accesso rapido

Fare clic per accedere alPersonalizza la barra degli strumenti


di accesso rapidofinestra di dialogo in cui è possibile
aggiungere o rimuovere ulteriori pulsanti dalla barra degli
strumenti Accesso rapido.

Tecnico 04-20006-02-it, marzo 2019


1960
63 Interfaccia utente script
63.3 Editor di script – Riquadro Variabili di associazione

63.3 Editor di script: riquadro delle variabili di associazione


Usa ilVariabili vincolantiriquadro per visualizzare e modificare le proprietà delle variabili di associazione in
Script Editor. I programmi Script eseguiti nel server SmartX eseguono il polling per impostazione predefinita,
mentre è necessario avviare e interrompere manualmente il polling nei programmi eseguiti nei dispositivi di
campo b3 BACnet e Infinet.

Figura: Script Editor: riquadro delle variabili di associazione

Tabella: riquadro delle variabili di associazione

Componente Descrizione

ClicInizia l'aggiornamentoper visualizzare il valore


corrente nel riquadro Variabili di associazione.

ClicInterrompi aggiornamentoper migliorare le


prestazioni del sistema se non sono richiesti
aggiornamenti in tempo reale. Per ulteriori informazioni,
vedere la sezione 168.21 “Best practice per i dispositivi
Infinet” a pagina 6636.

Nome Visualizza il nome della variabile.

Valore Visualizza il valore della variabile.

Tipo Visualizza il tipo di variabile. Per ulteriori


informazioni, vedere la sezione 60.71 “Tipi di
riquadro delle variabili” a pagina 1765.

Unità Visualizza l'unità variabile. I valori delle proprietà


legati al programma vengono automaticamente
convertiti in questa unità.

Valore iniziale Fornisce una casella di testo, un elenco a discesa o un


selettore di data e ora che è possibile utilizzare per
configurare i valori delle variabili di associazione iniziali nel
programma script. Per ulteriori informazioni, vedere la
sezione 61.12 “Valori iniziali delle variabili di associazione
dello Script Editor” a pagina 1906.

04-20006-02-it, marzo 2019 Tecnico


1961
63 Interfaccia utente script
63.4 Editor di script – Riquadro Variabili locali

63.4 Editor di script: riquadro Variabili locali


Usa ilVariabili localiriquadro per visualizzare e modificare le proprietà delle variabili locali nello
Script Editor, inclusi gli array. Il limite di visualizzazione corrisponde ai primi 1.000 elementi di un
array.

Figura: Script Editor – riquadro delle variabili locali

Tabella: riquadro Variabili locali

Componente Descrizione

Nome Visualizza il nome della variabile.

Valore Visualizza il valore della variabile.

Tipo Visualizza il tipo di variabile. Per ulteriori


informazioni, vedere la sezione 60.71 “Tipi di
riquadro delle variabili” a pagina 1765.

Tecnico 04-20006-02-it, marzo 2019


1962
63 Interfaccia utente script
63.5 Menu contestuale dell'editor di script

63,5 Menu contestuale dell'editor di script


Usa ilRedattore di scriptmenu contestuale per scrivere o modificare programmi e
funzioni Script.

Figura: menu contestuale dell'editor di script

Tabella: menu contestuale dell'editor di script

Comando Descrizione

Vai alla definizione Posiziona il cursore sulla riga di definizione di un


elemento all'interno del programma Script
corrente. Se l'elemento è una variabile di funzione
già associata a un oggetto funzione, il cursore è
posizionato sulla definizione dell'oggetto a cui è
associata la funzione (la funzione Script si apre
nell'Editor di Script).

Vai alla dichiarazione Posiziona il cursore sulla riga di dichiarazione di un


elemento all'interno del programma Script corrente.
Se l'elemento è una variabile di funzione già
associata a una funzione, il cursore è posizionato
sulla riga che dichiara la variabile di funzione.

Aggiungi alla libreria Apre ilAggiungi alla libreria codicifinestra di dialogo in cui
è possibile salvare le voci della libreria di codici.

Comprimi tutto Comprime tutti i segmenti di codice comprimibili.

Espandi tutto Espande tutti i segmenti di codice comprimibili.

Commento selezionato Crea commenti dalle righe del programma


Script selezionate.

04-20006-02-it, marzo 2019 Tecnico


1963
63 Interfaccia utente dello script 63.5 Menu

contestuale dell'editor dello script

Continua
Comando Descrizione

Decommenta selezionato Decommenta le righe del programma script


selezionato.

Attiva/disattiva punto di interruzione Inserisce e rimuove un punto di interruzione nella


riga di programma selezionata nello Script
Debugger.

Imposta l'istruzione successiva Evidenzia la successiva istruzione del programma nello


Script Debugger.

Trovare Apre ilTrovarescheda nelTrova e sostituiscifinestra


di dialogo in cui è possibile trovare una parola
specifica nel programma corrente.

Sostituire Apre ilSostituirescheda nelTrova e sostituiscila finestra


di dialogo. È quindi possibile sostituire una parola
specifica nel programma corrente.

Vai a Apre ilVai ala finestra di dialogo. È quindi possibile immettere


una riga di programma a cui passare.

Tecnico 04-20006-02-it, marzo 2019


1964
63 Interfaccia utente script
63.6 Finestra di dialogo Importa inglese semplice

63.6 Finestra di dialogo Importa in inglese semplice


Usa ilImporta inglese semplicefinestra di dialogo per importare programmi e funzioni
Plain English in Script.

Figura: finestra di dialogo Importa inglese semplice

Tabella: finestra di dialogo Importa inglese semplice

Componente Descrizione

Carica file Fare clic per individuare e caricare il file Plain English
che si desidera aggiungere al programma o alla
funzione Script Editor corrente.

Riquadro di visualizzazione Utilizza questo riquadro per visualizzare e modificare il


programma o la funzione PE che desideri caricare
nell'editor di script.

Riquadro dell'editor Utilizza questo riquadro per esaminare i risultati del tuo
programma o funzione Plain English
conversione. Se lo strumento di conversione Script
Editor controlla un programma e non trova errori, a
ConversionepoiConversione riuscitaviene visualizzato
il messaggio. Se si verificano errori, vengono visualizzati
con il numero del messaggio di errore, la posizione
della riga e della colonna all'interno del programma e il
testo o le parole chiave coinvolte.

04-20006-02-it, marzo 2019 Tecnico


1965
63 Interfaccia utente script
63.6 Finestra di dialogo Importa inglese semplice

Continua
Componente Descrizione

Converti tutto Utilizzare questo pulsante per convertire tutto il testo


nel programma o nella funzione Plain English in Script.

Converti selezionato Utilizzare questo pulsante per convertire il testo


selezionato nel programma o nella funzione Plain English
in Script.

Vicino Utilizzare questo pulsante per chiudere ilImporta inglese


semplicela finestra di dialogo.

Tecnico 04-20006-02-it, marzo 2019


1966
63 Interfaccia utente script
63.7 Libreria di codici dell'editor di script

63.7 Libreria di codici dell'editor di script


Utilizzare la libreria di codici Script Editor e i programmi, le funzioni e i file di importazione
di esempio forniti dal sistema per risolvere i problemi comuni.

Figura: libreria di codici Script Editor

Tabella: Libreria di codici dell'editor di script

Componente Descrizione

Cartella Programmi Contiene una serie di programmi script forniti dal sistema
per assistere nella risoluzione dei problemi comuni. È
possibile utilizzare questi elementi così come sono o come
esempi durante lo sviluppo dei propri programmi script.

Cartella dei file di importazione di esempio Contiene un gruppo di file di importazione forniti dal
sistema. È possibile utilizzare questi elementi così come
sono o come esempi durante lo sviluppo dei propri
programmi script.

04-20006-02-it, marzo 2019 Tecnico


1967
63 Interfaccia utente script
63.8 Proprietà del programma di script – Scheda Base

63,8 Proprietà programma script – Scheda Base


Usa ilDi basescheda per visualizzare e modificare le informazioni generali, di configurazione, di
runtime e di stato dei programmi Script.

Figura: Proprietà del programma script - scheda Base

Tabella: Scheda Base

Componente Descrizione

Compilazione valida Visualizza se il programma è stato compilato


correttamente.

Versione del compilatore Visualizza la versione del compilatore Script.

Stato Visualizza lo stato del programma.

Linea attuale Visualizza la riga corrente del programma.

Orario di inizio linea Visualizza l'ora di inizio della riga del programma.

TS Visualizza il numero di secondi trascorsi da


quando il programma è stato sulla riga
corrente.

Tecnico 04-20006-02-it, marzo 2019


1968
63 Interfaccia utente script
63.8 Proprietà del programma di script – Scheda Base

Continua
Componente Descrizione

TM Visualizza il numero di minuti trascorsi da


quando il programma è stato sulla riga
corrente.

TH Visualizza il numero di ore trascorse da


quando il programma è stato sulla riga
corrente.

TD Visualizza il numero di giorni trascorsi da


quando il programma è stato sulla riga
corrente.

Scansione Specifica la durata in secondi dell'ultimo


intervallo dell'interprete.

Errore Indica se il programma è stato eseguito


correttamente o ha riscontrato un errore.

Abilitato Visualizza se il programma è abilitato o


meno.

Compito Inserisci l'attività che desideri eseguire. Per ulteriori


informazioni, vedere la sezione 59.17 “Attività” a pagina
1634.

Precedenza di esecuzione Selezionare l'ordine in cui vengono eseguiti due


programmi quando si trovano nella stessa attività.
Si applica quando è presente un loop
connessione tra loro in modo tale che l'input di un
programma sia effettivamente l'output di un altro.
Per ulteriori informazioni, vedere la sezione 59.19
“Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.

Tipo di flusso Seleziona ilCicloOFallThrutipo di flusso per ordinare il


modo in cui le istruzioni del programma Script vengono
disposte ed eseguite.

Applica valore iniziale SelezionareSÌper applicare i valori iniziali delle


variabili vincolanti. Il predefinitoNOnon applica i
valori, garantendo così, ad esempio, che un punto di
uscita non venga reimpostato ogni volta che viene
salvato un programma che si lega a una delle
proprie variabili di uscita.

Modalità di debug Visualizza entrambiSUOSpentoper indicare


visivamente se lo Script Editor è in modalità Debug.
Questa è un'impostazione di sola lettura.

04-20006-02-it, marzo 2019 Tecnico


1969
63 Interfaccia utente script
63.9 Proprietà del programma di script – Scheda Avanzate

63.9 Proprietà del programma di script – Scheda


Avanzate
Usa ilAvanzatescheda per aggiungere o rimuovere le proprietà dell'oggetto che attivano il programma
Script attualmente in fase di modifica.

Figura: Proprietà del programma script - scheda avanzata

Tabella: scheda Avanzata

Componente Descrizione

Trigger Aggiunge o rimuove le proprietà dell'oggetto che


attivano il programma Script attualmente in fase di
modifica. Qualsiasi modifica del valore della proprietà
dell'oggetto attiva o esegue il programma Script.

ClicAggiungereper sfogliare e selezionare la proprietà


dell'oggetto desiderata, oppureModificareper modificare un
elemento selezionato nell'elenco Trigger. Deseleziona la
casella che precede la proprietà dell'oggetto per rimuovere
l'elemento dall'elenco.

Tecnico 04-20006-02-it, marzo 2019


1970
63 Interfaccia utente script
63.10 Proprietà programma script – Scheda Ingressi

63.10 Proprietà del programma di script – Scheda Ingressi


Usa ilIngressischeda per visualizzare le associazioni di input associate al programma
Script.

Figura: Proprietà del programma script - scheda Input

Tabella: Scheda Ingressi

Componente Descrizione

[Nome della proprietà] Selezionare il valore della proprietà associata.


Utilizzare i tasti freccia su e giù per incrementare il
valore verso l'alto o verso il basso di 0,5 punti. Clic

ILConfigura Impostazioniicona nella finestra aprire


di dialogo [Nome proprietà] e nelle relative
schede Configurazione e Funzionamento.

04-20006-02-it, marzo 2019 Tecnico


1971
63 Interfaccia utente script
63.11 Proprietà programma script – Scheda Uscite

63.11 Proprietà del programma script – Scheda


Output
Usa ilUscitescheda per visualizzare i collegamenti di output associati al programma
Script.

Figura: Proprietà del programma script - scheda Output

Tabella: Scheda Uscite

Componente Descrizione

[Nome della proprietà] Selezionare il valore della proprietà associata.


Utilizzare i tasti freccia su e giù per incrementare il
valore verso l'alto o verso il basso di 0,5 punti. Clic

ILConfigura Impostazioniicona nella finestra aprire


di dialogo [Nome proprietà] e nelle relative
schede Configurazione e Funzionamento.

Tecnico 04-20006-02-it, marzo 2019


1972
63 Interfaccia utente script
63.12 Proprietà programma script – Scheda Pubblici

63.12 Proprietà del programma script – Scheda Pubblici


Usa ilPubblicischeda per visualizzare i collegamenti pubblici associati ai programmi
Script.

Figura: Proprietà del programma script - scheda Pubblici

Tabella: scheda Pubblici

Componente Descrizione

[Nome della proprietà] Selezionare il valore della proprietà associata.


Utilizzare i tasti freccia su e giù per incrementare il
valore verso l'alto o verso il basso di 0,5 punti. Clic

ILConfigura Impostazioniicona nella finestra aprire


di dialogo [Nome proprietà] e nelle relative
schede Configurazione e Funzionamento.

04-20006-02-it, marzo 2019 Tecnico


1973
63 Interfaccia utente script
63.13 Proprietà programma script – Scheda Funzioni

63.13 Proprietà del programma script – Scheda


Funzioni
Usa ilFunzionischeda per visualizzare le associazioni di output associate alla funzione
Script.

Figura: Proprietà del programma script - scheda funzioni

Tabella: Scheda Funzioni

Componente Descrizione

[Nome funzione] Selezionare il valore della proprietà associata.


Utilizzare i tasti freccia su e giù per incrementare il
valore verso l'alto o verso il basso di 0,5 punti. Clic

ILConfigura Impostazioniicona nella finestra aprire


di dialogo [Nome proprietà] e nelle relative
schede Configurazione e Funzionamento.

Tecnico 04-20006-02-it, marzo 2019


1974
63 Interfaccia utente script
63.14 Proprietà programma script – Scheda Servizi Web

63.14 Proprietà programma script –


Scheda Servizi Web
Usa ilServizi webscheda per selezionare e associare il servizio visualizzato
all'interfaccia del servizio Web creata.

Figura: Proprietà del programma script - scheda Servizi Web

Tabella: scheda Servizi Web


Componente Descrizione

[Nome di Servizio] Visualizza il nome del servizio Web. Seleziona e


associa questo servizio all'interfaccia del servizio
Web creata. Per ulteriori informazioni, vedere la
sezione 62.3 “Creazione di un'interfaccia di servizio
Web script” a pagina 1941.

04-20006-02-it, marzo 2019 Tecnico


1975
63 Interfaccia utente script
63.15 Proprietà funzione script – Scheda Base

63.15 Proprietà funzione script – Scheda Base


Usa ilDi basescheda per visualizzare e modificare le informazioni generali e di configurazione sulle
funzioni dello script.

Figura: Proprietà della funzione script - scheda Base

Tabella: Scheda Base

Componente Descrizione

Compilazione valida Visualizza se il programma è stato compilato


correttamente.

Tecnico 04-20006-02-it, marzo 2019


1976
63 Interfaccia utente script
63.16 Proprietà funzione script – Scheda Ingressi

63.16 Proprietà funzione script – Scheda Ingressi


Usa ilIngressischeda per visualizzare le associazioni di input associate alla funzione
Script.

Figura: Proprietà della funzione script - scheda Input

Tabella: Scheda Ingressi

Componente Descrizione

[Nome della proprietà] Imposta il valore della proprietà associata. Utilizzare i


tasti freccia su e giù per incrementare il valore verso
l'alto o verso il basso di 0,5 punti. Clicca il

Configura Impostazioni icona per aprire il


Finestra di dialogo [Nome proprietà] e la relativa scheda Operazione.

04-20006-02-it, marzo 2019 Tecnico


1977
63 Interfaccia utente script
63.17 Proprietà funzione script – Scheda Uscite

63.17 Proprietà funzione script – Scheda


Output
Usa ilUscitescheda per visualizzare le associazioni di output associate alla funzione Script.

Figura: Proprietà della funzione script - scheda Output

Tabella: Scheda Uscite

Componente Descrizione

[Nome della proprietà] Imposta il valore della proprietà associata. Utilizzare i


tasti freccia su e giù per incrementare il valore verso
l'alto o verso il basso di 0,5 punti. Clicca il

Configura Impostazioni icona per aprire il


Finestra di dialogo [Nome proprietà] e la relativa scheda Operazione.

Tecnico 04-20006-02-it, marzo 2019


1978
63 Interfaccia utente script
63.18 Proprietà funzione script – Scheda Pubblici

63.18 Proprietà funzione script – Scheda Pubblici


Usa ilPubblicischeda per visualizzare le associazioni pubbliche associate alla funzione Script.

Figura: Proprietà della funzione script - scheda Pubblici

Tabella: scheda Pubblici

Componente Descrizione

[Nome della proprietà] Imposta il valore della proprietà associata. Utilizzare i


tasti freccia su e giù per incrementare il valore verso
l'alto o verso il basso di 0,5 punti. Clicca il

Configura Impostazioni icona per aprire il


Finestra di dialogo [Nome proprietà] e la relativa scheda Operazione.

04-20006-02-it, marzo 2019 Tecnico


1979
63 Interfaccia utente script
63.19 Proprietà funzione script – Scheda Funzioni

63.19 Proprietà funzione script – Scheda


Funzioni
Usa ilFunzionischeda per visualizzare i collegamenti di funzione associati alla funzione
Script.

Figura: Proprietà della funzione dello script - scheda funzioni

Tabella: Scheda Funzioni

Componente Descrizione

[Nome funzione] Imposta il valore della proprietà associata. Utilizzare i


tasti freccia su e giù per incrementare il valore verso
l'alto o verso il basso di 0,5 punti. Clicca il

Configura Impostazioni icona per aprire il


Finestra di dialogo [Nome proprietà] e la relativa scheda Operazione.

Tecnico 04-20006-02-it, marzo 2019


1980
63 Interfaccia utente script
63.20 Servizio Web script – Scheda Base

63.20 Servizio Web Script – Scheda Base


Usa ilDi basescheda per specificare la posizione, identificare il servizio Web e fornire un
meccanismo per recuperarlo.

Figura: Servizio Web Script - scheda Base

Tabella: Scheda Base

Componente Descrizione

URL Wsdl Digitare l'URL per il file WSDL. L'URL deve


terminare con ?wsdl. Qui sono supportati i file
SOAP 1.1 e 1.2.

Servizio Seleziona il servizio Web che desideri scegliere come


target. Per ulteriori informazioni, vedere la sezione
62.6 “Tipo di dati dei servizi Web SOAP script” a
pagina 1944.

Punto finale Digitare l'endpoint del servizio Web. Per ulteriori


informazioni, vedere la sezione 62.6 “Tipo di dati
dei servizi Web SOAP script” a pagina 1944.

04-20006-02-it, marzo 2019 Tecnico


1981
63 Interfaccia utente script
63.21 Servizio Web Script – Scheda Metodi

63.21 Servizio Web Script – Scheda Metodi


Usa ilMetodischeda per visualizzare un elenco dei metodi supportati dai servizi Web.

Figura: Servizi Web Sript - scheda metodi

Tabella: Scheda Metodi

Componente Descrizione

Metodi Visualizza l'elenco dei metodi supportati dal


servizio Web. I metodi sono le funzioni che
un servizio Web può eseguire. Qui sono
supportati SOAP 1.1 e 1.2.

Tecnico 04-20006-02-it, marzo 2019


1982
64Risoluzione dei problemi relativi agli script

Temi
L'errore del compilatore non contiene testo di errore

L'errore di runtime non contiene un numero di errore


64 Risoluzione dei problemi relativi agli script

64.1 Errore del compilatore non contiene testo di errore

64.1 L'errore del compilatore non contiene testo di errore


Il numero di errore del compilatore visualizzato nel riquadro di controllo non è accompagnato da testo di
errore.

64.1.1 Soluzione
Utilizzare il numero di errore nella tabella degli errori del compilatore per trovare il testo dell'errore appropriato.

Per ulteriori informazioni, vedere la sezione 61.3 “Errori del compilatore di script” a pagina 1891.

04-20006-02-it, marzo 2019 Tecnico


1985
64 Risoluzione dei problemi relativi agli script

64.2 L'errore di runtime non contiene alcun numero di errore

64.2 L'errore di runtime non contiene alcun numero di errore


L'errore di runtime visualizzato nel riquadro di controllo non ha un numero di errore.

64.2.1 Soluzione
Utilizzare il testo dell'errore nella tabella degli errori di runtime per risolvere il problema. Per ulteriori

informazioni, vedere la sezione 61.4 “Errori di runtime dello script” a pagina 1894.

Tecnico 04-20006-02-it, marzo 2019


1986

Potrebbero piacerti anche