Programma Di Script (Italiano)
Programma Di Script (Italiano)
com
Temi
Panoramica dello script
Programmi di script
funzioni
Compiti
• 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.
Per ulteriori informazioni, vedere la sezione 59.2 “Flusso di lavoro dello script” a pagina 1601.
Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.
Per ulteriori informazioni, vedere la sezione 60.97 “Funzioni script” a pagina 1795.
• 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.
Per ulteriori informazioni, vedere la sezione 60.1 “Componenti del programma script” a pagina
1651.
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.
Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.
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.
Per ulteriori informazioni, vedere la sezione 59.4 “Creazione di un programma di script” a pagina 1607.
Per ulteriori informazioni, vedere la sezione 59.5 "Apertura di un programma o di una funzione script" a
pagina 1608.
Per ulteriori informazioni, vedere la sezione 59.16 “Dichiarazioni di variabili locali” a pagina
1630.
Per ulteriori informazioni, vedere la sezione 61.9 “Aggiunta di una linea” a pagina 1903.
Per ulteriori informazioni, vedere la sezione 92.27 “Creazione di un valore BACnet” a pagina 3181.
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.
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.
Per ulteriori informazioni, vedere la sezione 61.16 "Esecuzione di un programma di script" a pagina
1911.
Per ulteriori informazioni, vedere la sezione 61.17 "Importazione del codice del programma script" a pagina 1912.
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.
Per ulteriori informazioni, vedere la sezione 59.10 “Istruzioni del programma script” a pagina
1620.
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à.
Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.
Per ulteriori informazioni, vedere la sezione 59.14 “Associazioni e programmi di script” a pagina
1628.
Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.
6. Fare clicCreare.
Per ulteriori informazioni, vedere la sezione 59.3 “Programmi di script” a pagina 1605.
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.
UN B C D
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.
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.
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.
UN'ABBRONZATURA Bufferizzato
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
PER IL PROSSIMO
pagina 1734.
FREEMEM
Per maggiori informazioni,
vedere la sezione 60.95
“FREEMEM” a pag
1793.
59.6.3 IN
Questa tabella contiene parole chiave che iniziano con le lettere I -N.
IO l M N
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.
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.
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.
Continua
IO l M N
MESE
Per maggiori informazioni,
vedere la sezione 60.87
“MESE” a pag
1783.
MOSSA
59.6.4 O-S
Questa tabella contiene parole chiave che iniziano con le lettere O - S.
O P R S
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.
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.
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.
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.
Continua
O P R S
GIUSTO PECCATO
FERMARE
CORDA
Per maggiori informazioni,
vedere la sezione 60.44
"STRING" a pagina
1724.
RIEMPIMENTO STRINGA
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
59.6.5 T-Y
Questa tabella contiene parole chiave che iniziano con le lettere T - Y.
T W Y
TOD MENTRE
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.
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.
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.9 “Flusso del programma in loop” a pagina 1619.
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.
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..
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.
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:
Ad esempio, puoi creare un programma semplice che contenga una singola dichiarazione
seguita da una singola riga di programma:
riga: Numerico i
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.
verbo. Ad esempio, queste istruzioni del programma Script sono valide: APRIRE
LA SERRANDA
CHIUDERE LA VALVOLA
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
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.
Etichetta una riga con la parola chiave LINE o due punti dopo il nome della riga:
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.
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 60.6 “Costanti di script” a pagina 1659.
Per ulteriori informazioni, vedere la sezione 59.13 “Parole riservate dello script” a pagina 1624.
nt
E Di Fa FineSelezione
T
Arctang Dt Pari
nt
Arctang Equivale
nt2
Arg Cancellare
Asc Errori
Eseguire
Come in Esiste
Chiedere Esp
Un'abbronzatura Esponenti
al
Atan2
Continua
UN B C D E F G H
Media
Media
Media
Minuto seno
Mod Luogo
Modificare Sqrt
Mese Standard
-
Deviazione
Mossa Inizio
Mese Stato
Mult StatoLin
e
Fermare
Corda
Stringfill
Continua
IO l M N O P R S
StrToDat
e
StrToNu
M
StrToTim
e
Somma
Td Aggiornamento Mentre
Di AggiornaEventi WriteProperty
IL AggiornaExitLog
Poi
Attraverso
Attraverso
Tempo
Orologio
Volte
TmTo
Tod
Cella toccata
Traccia
Tronco
Troncare
Continua
T U V W
Ts
Giro
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.
Per ulteriori informazioni, vedere la sezione 16.1 “Modelli di rilegatura” a pagina 405.
2. NelLegamiVisualizza, nel browser dei punti di rilegatura trascinare l'oggetto o la cartella sul
modello di rilegatura che si desidera applicare.
4. Fare clicOK.
Nota
Con i collegamenti non sei limitato esclusivamente alle proprietà di punti e programmi. Puoi
anche utilizzare altri tipi di oggetto.
• Variabili di input
• Variabili di uscita
• Variabili pubbliche
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.
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.
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.
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.
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.
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à.
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.
Compito Intervallo
Compito 3 1 secondo
Compito 4 5 secondi
Compito 5 10 secondi
4. Fare clicOK.
L'illustrazione che segue mostra la sequenza di esecuzione per una configurazione di ordine
semplice.
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
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.
• 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.
Figura: esempio
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
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
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.
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.
Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.
4. Fare clicOK.
Per ulteriori informazioni, vedere la sezione 59.19 “Cicli di programma nel software EcoStruxure
Building Operation” a pagina 1636.
2. Apri un'attività.
60Programmazione di script
Temi
Componenti del programma script
Costanti numeriche
Costanti di stringa
Codici ASCII
Costanti dello script
Parole chiave costanti
Fallimento
SPENTO
SU
- SU
Successo
Operatori del programma
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
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
HOD
ORA
MINUTO
MESE
SECONDO
TOD
Scostamento UTC
GIORNO FERIALE
ANNO
ERRORI delle variabili di sistema
runtime
FREEMEM
SCANSIONE
buffer GetBufferSize
Funzioni di conversione
NUMTOSTR
STRTODATA
STRTONUM
Funzioni matematiche
addominali
ESPONENZIALE
FATTORIALE
LN
TRONCO D'ALBERO
CASUALE
SQRT
SOMMA
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
• 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.
Per ulteriori informazioni, vedere la sezione 60.13 “Operatori del programma” a pagina 1667.
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.
60.1.5 Variabili
Una variabile è una proprietà di runtime (che cambia dinamicamente) di un oggetto.
Per ulteriori informazioni, vedere la sezione 60.3 “Costanti numeriche” a pagina 1654.
Per ulteriori informazioni, vedere la sezione 60.6 “Costanti di script” a pagina 1659.
Per ulteriori informazioni, vedere la sezione 60.7 “Parole chiave costanti” a pagina 1661.
• "Ciao mondo"
• "L'accesso all'edificio è limitato"
• "123"
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:
Per ulteriori informazioni, vedere la sezione 60.5 “Codici ASCII” a pagina 1656.
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.
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
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:
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:
UN B C D E F J M
portato
Venerdì MeseA
Data
Funzione MeseA
Ora
N O P R S T
ottobre Sito_ConfigB
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
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.
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.
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.
60.7.5 Successo
Success viene utilizzato nelle espressioni per indicare che un processo o una funzione è stata completata
correttamente.
Per ulteriori informazioni, vedere la sezione 60.12 “Operazioni riuscite” a pagina 1666..
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
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
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
ventola su ON
Altro
Impostare la ventola su
OFF Endif
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
60.12 Successo
Success viene utilizzato nelle espressioni per indicare che un processo o una funzione è stata completata
correttamente.
Sintassi
Successo
Esempi
Chiama una funzione Script definita dall'utente, che restituisce Success o Failure.
% Percentuale
/ Divisione
MOD Modulo
- Sottrazione
È TRA Allineare
È FINITO Allineare
Continua
Operatore Descrizione Associazione
! logico o
Alias: È INFERIORE O
UGUALE A dove THAN e TO
sono facoltativi
Alias: È MAGGIORE DI
(THAN è facoltativo) e È
SOPRA
È 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..
Alias: È SIA
Alias: NON È NÉ
Continua
Operatore Esempio Definizione
Questa affermazione è
operativamente equivalente a IS
BETWEEN.
Questa affermazione è
operativamente equivalente a IS
THRU.
Continua
Operatore Esempio Definizione
Alias: E
Alias: OR
Per ulteriori informazioni, vedere la sezione 60.14 “Parole chiave dell'operatore” a pagina 1676.
Lo script utilizza tre diversi tipi di parole chiave dell'operatore: operatori bit per
bit, logici e matematici.
• BITAND
• BITNOT
• BITORE
• BITXOR
Per ulteriori informazioni, vedere la sezione 60.15 “Operatori bit a bit” a pagina 1677...
• DIVISO PER
• MENO
•MOD
• INOLTRE
• TEMPI
Per ulteriori informazioni, vedere la sezione 60.26 “Operatori matematici” a pagina 1693...
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.
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.
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.
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.
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.
Sintassi
numero interobitandnumero intero
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
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.
Sintassi
bitnotnumero intero
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
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.
Sintassi
numero interobitornumero intero
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
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.
Sintassi
numero interobitxornumero intero
Esempio
Supponiamo di voler confrontare Total1 e Total2: Total1 = 13
programma
60.20.1 E
La parola chiave AND può essere utilizzata in due modi.
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..
60.21 E
Alias: la e commerciale (&) è l'alias solo per l'AND logico. La
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.
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
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
Non è possibile utilizzare la e commerciale (&) per AND in una serie. Puoi, tuttavia, tralasciare AND
come segue:
Esempio 3
File di programma
Program File
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
Tuttavia, la riga non viene interpretata come tale. Si interpreta invece nel modo
seguente:
• Un operatore logico, come AND, funziona solo nelle espressioni e non nelle
istruzioni.
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.
60.22 EQUIVALE
EQUALS è simile all'operatore IS....
Per ulteriori informazioni, vedere la sezione 60.23 “IS...” a pagina 1687..
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
inclusione-elenco: il numero è in
elenco
Espressione-esclusione-elenco: il
Espressione di intervallo:
Tabella: IS...Parametri
Parametro Descrizione
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
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
Nota
• Sia THRU che BETWEEN sono sempre inclusivi, quindi quanto segue è entrambi
TRUE se ZONE_TEMP è uguale a 70 o 80.
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
Esempio
File di programma
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
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
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:
È 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
File di programma
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
60.26.4 PIÙ
PLUS aggiunge due espressioni.
60.26.5 VOLTE
TIMES moltiplica due numeri.
Per ulteriori informazioni, vedere la sezione 60.31 “TEMPI” a pagina 1698..
Sintassi
numerodiviso pernumero
Esempi
Esempio 1
File di programma
Consumo = kwh/24
60.28 MENO
Alias: -
MENO sottrae il numero dal numero.
Sintassi
numeromenonumero
Esempi
Esempio 1
File di programma
60.29 MOD
Alias: RESTO
MOD restituisce il resto di un numero diviso per un altro.
Sintassi
numeromodnumero
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.
60.30 PIÙ
Alias: +
PLUS aggiunge due espressioni.
Sintassi
numeropiùnumero
Esempio
Esempio 1
File di programma
60.31 VOLTE
Alias: MULTIPLIED BY, MULT, *
TIMES moltiplica due numeri.
Sintassi
numerovoltenumero
Esempio
Esempio 1
File di programma
•P
• STAMPA
• IMPOSTATO
• GIRO
Per ulteriori informazioni, vedere la sezione 60.34 “Dichiarazioni di azione” a pagina 1702.
• ARG
• APPUNTAMENTO
• LINEA
• NUMERICO
• CORDA
• IL
Per ulteriori informazioni, vedere la sezione 60.39 “Dichiarazioni di dichiarazione” a pagina 1713.
• BASATO SU...GOTO
• ROTTURA
• CONTINUA
• PER IL PROSSIMO
• VAI A
• SE...ALLORA...ALTRIMENTI
• 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.
• INGRESSO
• PRODUZIONE
• PUBBLICO
Per ulteriori informazioni, vedere la sezione 60.61 “Dichiarazioni di qualificazione” a pagina 1753.
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.
60.34.3 IMPOSTATO
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..
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
Esempi
Esempio 1
Riga di comando
Esempio 2
Riga di comando
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
Caratteri di formattazione
È possibile indicare il layout della riga di stampa utilizzando i seguenti simboli speciali:
Carattere Descrizione
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
modo.
Continua
NO. File di programma Produzione Spiegazione
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.
Continua
NO. File di programma Produzione Spiegazione
Continua
NO. File di programma Produzione Spiegazione
60.37 IMPOSTATO
Alias: ADJUST e CHANGE (solo Formato 1), LET (solo Formato 2), MODIFY SET assegna
Sintassi
Sintassi 1:ImpostatoLista di nomiAnumero
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
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
È possibile impostare una variabile utilizzando SET e un segno di uguale come nell'esempio seguente: File di
programma
Program File
File di programma
di programma
programma
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
elenco_puntiSPENTO
Esempi
Esempio 1
Supponiamo di voler accendere la ventola e la pompa. Puoi attivarli entrambi in un'unica
istruzione di programma:
File di programma
programma
Spegnere la pompa
Esempio 3
È inoltre possibile inserire ON o OFF prima del nome del punto: File di
programma
Spegnere la pompa
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.
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.
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).
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.
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.
60.39.6 IL
THE non svolge alcuna funzione, ma migliora la leggibilità.
Per ulteriori informazioni, vedere la sezione 60.46 “Servizio Web” a pagina 1727.
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]
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
File di funzioni
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.
• 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.
• 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]
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:
File di programma
programma
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:
• C (riservato)
• E (utilizzato per il rilevamento degli errori)
Esempi
Esempio 1
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
...
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
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:
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).
File di programma
Risultato numerico
Linea OpenPort3
Risultato = Test linea
aperto (Comm3)Aperto
Se risultato = successo, vai alla riga PrintMenus
PrintMenus
Esegui MenuDisplay
...
Se si dispone di una riga E, quando si verifica un errore, la riga E viene visualizzata nelle informazioni sullo
stato del file.
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]
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
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
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
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]
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:
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
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
Esempio 4
È possibile creare diversi array di variabili stringa e variabili stringa singola in un'unica riga di
programma:
File di programma
60,45 IL
THE non svolge alcuna funzione, ma migliora la leggibilità.
Sintassi
ILnome
Tabella: IL Parametro
Parametro Descrizione
Esempi
File di programma
Accendi la ventola
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)
Parametro Descrizione
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
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.
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.5 VAI A
GOTO si dirama alla riga denominata linename.
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.
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.
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.
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.
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..
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:
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
…
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.
Basedon Wkd Vai alla linea dom_1, lun_1, mar_1, mer_1, gio_1, ven_1, sab_1
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
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
Sintassi
Sintassi 1:
dell'istruzione
Dichiarazione
...
Prossimonome_numerico
Sintassi 2:
Dichiarazione
Dichiarazione
...
Prossimonome_numerico
Esempi
Esempio 1
Un ciclo FOR...NEXT assomiglia a questo: File di
programma
successivo
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
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
60.52 VAI A
GOTO si dirama alla riga denominata linename.
Sintassi
Sintassi 1:Vai anomelinea Sintassi 2:
nomelinea
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
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.
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
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
Esempio 3
Puoi tralasciare TO e digitare solo GO:
Program File
Inizio riga
Se la temperatura è inferiore a 68, vai a Riscaldamento. Se la
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
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
riscaldamento.
Accendi il riscaldamento1
Vai a Raffreddamento
linea inizio linea
Attiva Raffreddamento1
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.
• 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
Sintassi 4:
SeespressionePoi
dichiarazione
dichiarazione
dichiarazione
...
Altro
dichiarazione
dichiarazione
dichiarazione
...
Finisci se
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 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
Finisci se
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
File di programma
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
Altro
Spegnere la ventola.
Aprire la serranda
Finisci se
Altro
Imposta Occupazione su On Avvia il
programma giornaliero
Finisci se
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.
File di programma
Se la settimana è sabato,
se l'ora è 1, vai a 1
Finisci se
Altro
Vai a 2
Finisci se
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
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.
Sintassi
MOVE output_point_list A numero
MOVE output_point_list A numero %
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
File di programma
Sintassi
Ripetere
dichiarazione
dichiarazione
...
Fino al numero
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
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.
Assicurati di restituire un numero o un altro valore quando desideri utilizzare il valore restituito
nel programma chiamante.
Sintassi
Ritorno
Numero di reso
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
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
File di programma
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
Sintassi
Seleziona Casotest_espressione
Casolista_espressioni
elenco_dichiarazioni
Casolista_espressioni
elenco_dichiarazioni
...
Caso Altro
else_statement_list
FineSeleziona
Esempi
Esempio 1
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
60.58 FERMARE
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.
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
60,59 ASPETTARE
Alias: ritardo
Sintassi
ASPETTAREnumero
Parametro Descrizione
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:
Mancia
60,60 MENTRE
WHILE esegue ripetutamente le istruzioni nelle istruzioni all'interno del ciclo
finché il numero indicato è VERO.
Sintassi
Mentrenumero
dichiarazione
dichiarazione
...
Finire
Esempi
Inizializza un array manuale di 10 elementi: File di
programma
Contatore numerico
Imposta il contatore su 1
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.
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.
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.
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
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
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
Parametro Descrizione
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
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
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.
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.
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
Parametro Descrizione
Esempi
File di programma
Supponiamo che tu voglia impostare un output nel tuo programma Script utilizzando la variabile
PUBLIC.
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.
•2
• SQRT (9)
• 900 DIVISO PER 8
• WKD È MAGGIORE DI LUNEDI
• SINISTRA (“TEST”, 1)
60.67 Variabili
Una variabile è una proprietà di runtime (che cambia dinamicamente) di un oggetto. Lo
Per ulteriori informazioni, vedere la sezione 60.69 “Variabili del programma” a pagina 1761..
Per ulteriori informazioni, vedere la sezione 60.73 “Variabili di sistema” a pagina 1767.
Per ulteriori informazioni, vedere la sezione 60.79 “Parole chiave delle variabili di sistema” a pagina
1773.
Per ulteriori informazioni, vedere la sezione 60.74 “Variabili di runtime dello script” a pagina 1768.
Per ulteriori informazioni, vedere la sezione 60.70 “Variabili del programma locale” a pagina 1762.
1. In Script Editor, dichiara la variabile che desideri utilizzare nel programma o nella
funzione:
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.
60 Programmazione di script
60.69 Variabili del programma
Per ulteriori informazioni, vedere la sezione 60.70 “Variabili del programma locale” a pagina 1762.
Per ulteriori informazioni, vedere la sezione 60.72 “Array di programmi” a pagina 1766.
Nota
• Lo script supporta caratteri pari o inferiori a ASCII 127. I caratteri aggiuntivi non sono
supportati e vengono sostituiti da un punto interrogativo (?).
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
• Numerico
• Corda
• Appuntamento
• Funzione
• Servizio web
Numeric RateOfRise
Stringa DirtyFilterMsg
DateTime LocalDateTime
La parola chiave WebService assegna il nome che segue come variabile locale, che viene
associata a un oggetto Servizio Web di script.
WebService wsCalculator
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
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.
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.
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]
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.
Nome Descrizione
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.
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.
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:
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:
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:
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.
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:
Lo script utilizza due diversi tipi di parole chiave per variabili di sistema: data e ora e parole
chiave per variabili di runtime.
• 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.
• ERRORI
• FREEMEM
• SCANSIONE
Per ulteriori informazioni, vedere la sezione 60.93 “Variabili di sistema di runtime” a pagina
1891..
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):
60.80.1 DATA
DATE recupera la data e l'ora correnti del sistema in modo da poterle quindi memorizzare in una
variabile.
Per ulteriori informazioni, vedere la sezione 60.82 “GIORNO DEL MESE” a pagina 1778..
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.
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.
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.
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.
• - 18000 indica che sei 18000 secondi, o 300 minuti o 5 ore indietro rispetto al GMT.
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.
60.81 DATA
Alias: TEMPO
DATE recupera la data e l'ora correnti del sistema in modo da poterle quindi memorizzare in una
variabile.
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.
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:
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
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
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
File di programma
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
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
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:
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
Sabato
Esempio 2
È possibile utilizzare i nomi brevi per confrontare il mese: File di
programma
programma
Se Mese è 2 allora...
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
60,89 TOD
Alias: ORA DEL GIORNO
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
Alias: nessuno
• - 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
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.
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.
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
Produzione
Sabato
Esempio 2
File di programma
60.92 ANNO
Alias: YR
ANNO fornisce l'anno corrente. Non è possibile modificare l'ANNO. Il sistema
aggiorna automaticamente il valore.
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
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).
60.93.2 FREEMEM
FREEMEM contiene il numero di byte di memoria libera nel singolo blocco di memoria
contiguo più grande su un controller.
60.93.3 SCANSIONE
SCAN indica la durata in secondi dell'ultimo intervallo di scansione dell'interprete, che il programma
aggiorna regolarmente.
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).
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
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
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
Conteggio_scansioni = Conteggio_scansioni + 1
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.
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.
Per ulteriori informazioni, vedere la sezione 60.98 “Flusso di lavoro della funzione script” a pagina 1796.
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.
Per ulteriori informazioni, vedere la sezione 60.108 “Funzioni di sistema” a pagina 1808.
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.
Per ulteriori informazioni, vedere la sezione 60.99 “Funzioni script senza argomenti” a pagina
1798.
Per ulteriori informazioni, vedere la sezione 60.100 “Funzioni script con argomenti” a
pagina 1799.
Per ulteriori informazioni, vedere la sezione 60.101 "Funzioni script che restituiscono un valore" a
pagina 1800.
Programma di chiamata:
Funzione Fanstop
Se TOD > 1800 e TOD < 800 allora FanStop ( )
FANSTOP conosce i ventilatori perché sono punti sul controller.
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.
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.
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.
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.
Una volta terminata la creazione della funzione, aggiungi una dichiarazione (1) e una chiamata di funzione
(2) nel programma designato per invocare quella funzione.
1. In Script Editor, dichiarare la funzione che si desidera chiamare utilizzando la parola chiave
Funzione prima del nome della funzione.
Ora hai dichiarato e chiamato una funzione in un programma Script o in un'altra funzione
Script.
Per ulteriori informazioni, vedere la sezione 60.102 “Funzioni e programmi di script” a pagina
1801.
6. Fare clicCreare.
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.
Per ulteriori informazioni, vedere la sezione 60.102 “Funzioni e programmi di script” a pagina
1801.
Se salvi una funzione che contiene errori, quella funzione non verrà eseguita. La funzione deve
avere un controllo positivo prima dell'esecuzione.
• 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.
• 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.110 “Funzioni delle variabili memorizzate nel buffer” a pagina
1813.
• NUMTOSTR
• STRTODATA
• STRTONUM
Per ulteriori informazioni, vedere la sezione 60.113 “Funzioni di conversione” a pagina 1817...
• ADDOMINALI
• ESPONENZIALE
• FATTORIALE
• LN
• TRONCO D'ALBERO
• CASUALE
• SQRT
• SOMMA
• LeggiProprietà
• Rinunciare
• Proprietà di scrittura
Per ulteriori informazioni, vedere la sezione 60.126 “Funzioni oggetto” a pagina 1833...
Per ulteriori informazioni, vedere la sezione 60.130 “Funzione PASSED” a pagina 1838..
• SOFFITTO
• PAVIMENTO
• GIRARE
• TRONCARE
Per ulteriori informazioni, vedere la sezione 60.131 “Funzioni di arrotondamento” a pagina 1839...
• MEDIA
• MASSIMO
• MAXITEM
• MINIMO
• MINITEM
• Deviazione standard
Per ulteriori informazioni, vedere la sezione 60.136 “Funzioni statistiche” a pagina 1844...
•ASC
• CHR
• SINISTRA
• LUNGHEZZA
• METÀ
• GIUSTO
• RICERCA
• RIEMPIMENTO STRINGA
• TAB
Per ulteriori informazioni, vedere la sezione 60.143 “Funzioni stringa” a pagina 1857...
• DIFFICILE TEMPO
• OROLOGIO
Per ulteriori informazioni, vedere la sezione 60.154 “Funzioni temporali” a pagina 1870.. .
• ACOS
• COME IN
• UN'ABBRONZATURA
•ATAN2
• COS
• PECCATO
• ABBRONZATURA
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.
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.
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)
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
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.
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)
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
FineMentre
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.
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.
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 )
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.
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.
• 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.
• 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:
Sintassi
StrToDate (appuntamento)
Esempi
File di programma
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)
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
60.117.1 addominali
60.117.2 ESPONENZIALE
ESPONENZIALE restituisce un valore pari alla base e elevata alla potenza numerica. Per
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
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.
60.117.7 SQRT
SQRT restituisce la radice quadrata del numero.
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).
60.118 addominali
Sintassi
ADDOMINALI (numero)
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
60.119 ESPONENZIALE
Alias: ESP
ESPONENZIALE restituisce un valore pari alla base e elevata alla potenza numerica.
Sintassi
esponenziale (numero)
Esempi
Esempio 1
File di programma
60.120 FATTORIALE
Alias: FATTO
Sintassi
Fattoriale (espressione_intera)
Esempi
La seguente istruzione imposta FVAL sul risultato del fattoriale 3: File di
programma
60.121 LN
LN restituisce il logaritmo naturale di qualsiasi espressione_numero.
Sintassi
LN (numero_espressione)
Tabella: Parametro LN
Parametro Descrizione
Esempi
File di programma
LGVAL = LN(3.2)
Il log naturale viene restituito e inserito in LGVAL.
Sintassi
TRONCO D'ALBERO (numero_espressione)
Esempi
File di programma
Risultato = LOG(10)
Questa istruzione imposta RESULT uguale a 1.
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)
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
60.124 SQRT
SQRT restituisce la radice quadrata del numero.
Sintassi
SQRT (numero)
Esempi
File di programma
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)
Parametro Descrizione
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
File di programma
60.126.1 LeggiProprietà
ReadProperty recupera il valore di una proprietà di un oggetto BACnet. Per ulteriori
60.126.2 Rinuncia
Abbandona abbandona un comando. (Puoi anche utilizzare WriteProperty e non passare alcun
argomento per il valore).
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..
60.127 LeggiProprietà
ReadProperty recupera il valore di una proprietà di un oggetto BACnet.
Sintassi
LeggiProprietà (oggetto_proprietà)
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à:
Temp. numerica
Temp = LeggiProprietà (AV1)
Esempio 2
Utilizza ReadProperty per ottenere la descrizione di un punto analogico e posizionarla in un punto
stringa:
60.128 Rinuncia
Abbandona abbandona un comando. (Puoi anche utilizzare WriteProperty e non passare alcun
argomento per il valore).
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à)
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):
Sintassi
Proprietà di scrittura (proprietà_oggetto, valore, priorità, indice)
Prodotti supportati
Controller serie b3, server EcoStruxure BMS
Esempi
Esempio 1
Utilizzare WriteProperty per impostare il valore analogico di un oggetto su
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.
Sintassi
Passato (numero_arg)
Parametro Descrizione
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
Per Conteggio = da 1 a 15
60.131.1 SOFFITTO
CEILING arrotonda un numero all'intero successivo più grande sulla linea numerica e restituisce tale
intero.
60.131.2 PAVIMENTO
FLOOR restituisce il successivo intero più piccolo sulla linea numerica e restituisce quell'intero. Per
60.131.3 GIRARE
ROUND arrotonda un numero all'intero più vicino e restituisce quel valore. Per
60.131.4 TRONCARE
TRUNCATE elimina la parte frazionaria del numero e restituisce il numero intero. Per
60.132 SOFFITTO
CEILING arrotonda un numero all'intero successivo più grande sulla linea numerica e restituisce tale
intero.
Sintassi
Soffitto (numero)
Esempi
Esempio 1
File di programma
Superiore = Soffitto(-2,7)
Questa istruzione restituisce -2.
Esempio 2
File di programma
RndVal = Soffitto(4.3)
Questa affermazione restituisce 5.
60.133 PAVIMENTO
FLOOR restituisce il successivo intero più piccolo sulla linea numerica e restituisce quell'intero.
Sintassi
Pavimento (numero)
Parametro Descrizione
Esempi
Esempio 1
File di programma
Risultato = Piano(-1.1)
Questa istruzione restituisce -2.
60.134 TONDA
ROUND arrotonda un numero all'intero più vicino e restituisce quel valore. Il
• 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.
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
Esempi
Esempio 1
File di programma
Esempio 2
File di programma
affermazione restituisce 4.
60.135 TRONCARE
Alias: TRONCO
Sintassi
Tronca (numero)
Esempi
Esempio 1
File di programma
Esempio 2
File di programma
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.
60.136.2 MASSIMO
MAXIMUM trova il numero massimo in un elenco di valori numerici, una matrice numerica o
un log numerico.
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.
60.136.4 MINIMO
MINIMO trova il numero minimo in un elenco di valori numerici, una matrice numerica o un
log numerico.
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.
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)
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
File di programma
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)
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
File di programma
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)
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
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
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
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)
Esempi
Esempio 1
La funzione MINIMO trova il numero minimo in un elenco di variabili come segue: File di
programma
File di programma
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
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)
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)
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
File di programma
File di programma
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
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
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
60.143.1 ASC
ASC restituisce il valore ASCII del primo carattere della stringa. Per
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.
60.143.3 SINISTRA
LEFT restituisce una stringa composta dai caratteri più a sinistra di string con una lunghezza specificata
da un numero intero.
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
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.
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.
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.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..
60.144 ASC
ASC restituisce il valore ASCII del primo carattere della stringa.
Sintassi
ASC (corda)
Esempi
Questa istruzione restituisce 83, che è il valore ASCII del carattere S:
Program File
ASC ("S")
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)
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
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
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)
Parametro Descrizione
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
60.147 LUNGHEZZA
Alias: LEN
LENGTH restituisce il numero di caratteri nella stringa.
Sintassi
Lunghezza (corda)
Parametro Descrizione
Esempi
Esempio 1
File di programma
60.148 METÀ
MID restituisce un carattere numerico di stringa estratto dalla stringa a partire dall'offset.
Sintassi
METÀ (stringa, offset, numero)
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
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)
Esempio
File di programma
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)
Esempi
Esempio 1
File di programma
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])
sulla stringa.
1
Esegue una ricerca senza distinzione tra maiuscole e minuscole
sulla stringa.
Esempi
Esempio 1
File di programma
Esempio 3
File di programma
Esempio 4
File di programma
Sintassi
Riempimento di stringhe (numero, codice carattere)
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:
File di rapporto
File di programma
""
Per GiornoX = da 1 a 7
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:
SOLE +******
LUN +**********
MAR +********
MER +************
GIO +********
VEN +********
SAB +***
+---+-----+-----+-----+----
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 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.
60.153 TAB
TAB restituisce una serie di spazi vuoti continui. Il numero di spazi vuoti è
numero.
Sintassi
Scheda (numero)
Esempi
File di programma
Questo è un titolo
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.)
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.
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.)
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
Temporizzatore data/ora[2]
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]
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)
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
60.157.1 ACOS
ACOS restituisce l'arcocoseno del numero specificato.
60.157.2 COME IN
60.157.3 UN'ABBRONZATURA
60.157.4 ATAN2
ATAN2 restituisce un angolo con un seno di sin e un coseno di cos. Per
60.157.5 COS
COS restituisce il coseno del numero.
60.157.6 PECCATO
60.157.7 ABBRONZATURA
60.158 ACO
Alias: ARCCOSINE
ACOS restituisce l'arcocoseno del numero specificato.
Sintassi
ACOS (numero)
Esempi
File di programma
AN_VALUE = ACOS(.7071)
60.159 ASIN
Alias: ARCSINE
ASIN restituisce l'arcoseno del numero.
Sintassi
COME IN (numero)
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)
60.160 ATAN
Alias: ARCTANGENTE
ATAN restituisce l'arcotangente del numero.
Sintassi
UN'ABBRONZATURA (numero)
Esempi
File di programma
Val_ARC = ATAN(0)
60.161 ATAN2
Alias: ARCTANGENT2
ATAN2 restituisce un angolo con un seno di sin e un coseno di cos.
Sintassi
ATAN2 (peccato, cos)
Esempi
File di programma
60.162 COS
Alias: COSENO
COS restituisce il coseno del numero.
Sintassi
COS (numero)
Esempi
Esempio 1
File di programma
Mio_COS = COS(3.14159/2)
Esempio 2
File di programma
Mio_COS = COS(angolo)
60.163 PECCATO
Alias: SINE
SIN restituisce il seno dell'angolo specificato.
Sintassi
PECCATO (numero)
Esempi
File di programma
60.164 TAN
Alias: TANGENTE
TAN restituisce la tangente del numero.
Sintassi
ABBRONZATURA (numero)
Esempi
File di programma
61 Redattore di script
Temi
Panoramica dell'editor di script
Aggiunta di un commento
Per ulteriori informazioni, vedere la sezione 61.2 “Creazione di programmi Script Editor” a pagina
1886.
• Sequenza di tasti
• Commenti
• Completamento automatico
Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.
script. Per ulteriori informazioni, vedere la sezione 61.3 “Errori del compilatore di script” a pagina 1891.
script. Per ulteriori informazioni, vedere la sezione 61.4 “Errori di runtime dello script” a pagina 1894.
Importante
Assicurati di avere una licenza Script funzionante e disponibile. Per avviare Script è necessaria
una licenza funzionante. Per ulteriori informazioni, vedere ilLicenzeargomento su WebHelp.
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.
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.
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.
1001
Continua
Errore Testo dell'errore
Continua
Errore Testo dell'errore
Testo dell'errore
Argomentazione illegale
ID di importazione illegale
Continua
Testo dell'errore
Comunicazione fallita
• Sequenza di tasti
• Commenti
• Completamento automatico
Per ulteriori informazioni, vedere la sezione 61.6 “Elementi e colori del programma Script
Editor” a pagina 1898.
Per ulteriori informazioni, vedere la sezione 61.7 “Scelte rapide da tastiera per Script Editor” a
pagina 1899.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
È 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.
Per ulteriori informazioni, vedere la sezione 61.12 “Valori iniziali delle variabili di associazione dello Script
Editor” a pagina 1906.
Testo Nero
Valore Marrone
Corda Rosso
Commento Verde
• 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.
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.
È 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.
Figura: Programmi, funzioni e file di importazione della libreria di codici forniti dal sistema
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.
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.
È 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.
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.
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.
1. In Script Editor, iniziare a digitare e notare il testo predittivo visualizzato per le parole
chiave, le funzioni e le costanti dello script.
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).
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.
Nota
• Lo script supporta caratteri pari o inferiori a ASCII 127. I caratteri aggiuntivi non sono
supportati e vengono sostituiti da un punto interrogativo (?).
Per ulteriori informazioni, vedere la sezione 61.13 “Commenti nei programmi di script” a pagina
1908.
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.
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.
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à.
5. Fare clicOK.
Per ulteriori informazioni, vedere la sezione 59.10 “Istruzioni del programma script” a pagina
1620.
3. In Script Editor posizionare il punto di inserimento nel programma o nella funzione in cui si desidera
importare il codice del programma.
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.
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.
5. Fare clicEsportare.
8. Fare clicSalva.
3. In Script Editor, posizionare il punto di inserimento nel programma o nella funzione in cui si
desidera importare il codice Plain English.
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.
7. Fare clicAprire.
Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.
Per ulteriori informazioni, vedere la sezione 61.10 “Completamento automatico dello script” a pagina
1904.
7. SelezionaMostra i numeri di rigaper visualizzare i numeri di riga nella finestra del programma.
10. NelFontcasella, fare clic sul menu a discesa per selezionare il carattere che si desidera utilizzare.
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.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
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.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
3. NelAggiungi alla libreria codicifinestra di dialogo, nelNome della vocecasella, digitare un nome
per la voce.
• Selezionare una cartella dall'elenco per aggiungere la voce a una cartella esistente.
5. Fare clicAggiungere.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
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Ì.
Per ulteriori informazioni, vedere la sezione 62.1 “Servizi Web di script” a pagina 1937.
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.
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.
13. Fare clicSalvaper eseguire il programma aggiornato Get US City Weather by Zip.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
3. Fare clic con il pulsante destro del mouse sull'elemento, quindi fare clic suRinomina elemento.
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.
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.
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.
Per ulteriori informazioni, vedere la sezione 61.8 “Segmenti di codice comprimibili” a pagina
1900.
4. Fare clicOK.
Importante
Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.
2. NelTrovarecasella, digitare il testo o la stringa che si desidera trovare nel programma o nella
funzione.
Per ulteriori informazioni, vedere la sezione 61.5 “Funzioni dell'editor di script” a pagina 1896.
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.
• Stabilire una riga nel punto in cui si desidera che l'esecuzione del programma venga interrotta.
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.
• 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.
Nota
Anche le chiamate a funzioni nidificate non sono supportate in Script Debugger.
dell'esecuzione.
Script.
F10 Passa alla riga di esecuzione Facendo clicFare un passonella barra degli
Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.
1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma script di cui desideri eseguire il
debug.
3. Nella barra degli strumenti dell'editor di script, fare clic suInizioper avviare una sessione di debug dello 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.
7. Fare clicFare un passoper passare alla riga di esecuzione successiva nel programma Script.
9. Fare clic con il tasto destro e selezionareInserisci punto di interruzioneper attivare o disattivare un punto di interruzione nel
programma Script.
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.
13. Al termine, fare clic suFermareper terminare la sessione di debug dello script.
Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.
5. Controllare l'operazione Traccia facendo clic suInterrompi nel punto di interruzione durante la tracciatura
casella di controllo.
8. Fare clicOK.
Per ulteriori informazioni, vedere la sezione 61.30 “Script Debugger” a pagina 1925.
1. Nella WorkStation, nelVisualizzazione elenco, seleziona il programma script di cui desideri eseguire il
debug.
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.
Per ulteriori informazioni, vedere la sezione 61.35 “Accesso al livello di priorità BACnet” a pagina
1931.
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.
7. Fare clicUscita.
Per ulteriori informazioni, vedere la sezione 61.35 “Accesso al livello di priorità BACnet” a pagina
1931.
3. Nello Script Editor, creare una variabile di collegamento in un programma Script b3.
Assicurati di utilizzare il nome della variabile di associazione anziché il nome del percorso completo
dell'oggetto.
8. Fare clicUscita.
Temi
Servizi Web di script
Flusso di lavoro dei servizi Web script Creazione di un'interfaccia
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.
Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.
Per ulteriori informazioni, vedere la sezione 62.6 “Tipo di dati dei servizi Web SOAP script” a pagina
1944.
Per ulteriori informazioni, vedere la sezione 62.7 “Servizi Web RESTful di script” a pagina
1948.
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]
6. Fare clicCreare.
Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.
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
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.
Per ulteriori informazioni, vedere la sezione 62.2 “Flusso di lavoro dei servizi Web di script” a pagina
1939.
3. In Script Editor, utilizzare la parola chiave Webservice per dichiarare il servizio Web nel
programma.
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.
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.
• Corda
• Numeri
• Appuntamento
Mancia
Le chiamate al metodo del servizio Web necessitano di righe di esecuzione specifiche all'interno dei programmi script.
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.
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.
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.
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.
Nota
UrlEncode non è supportato nel controller della serie MP.
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.
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.
5. Fare clicCreare.
6. Nella Visualizzazione elenco, fare clic sul nuovo programma Weather by ZIP Script.
7. Fare clicModificare.
• BaseUrl – [Link]
• Metodo – OTTIENI
• Intestazioni – ""
• Messaggio -
/WeatherWS/[Link]/GetCityWeatherbyZIP?ZIP=02109
11. Nella Visualizzazione elenco, fare clic sul programma Ottieni meteo città USA tramite ZIP Script.
14. Fare clic suUscitescheda e osservare l'output resultXMLString per il codice postale
02109.
• Temperatura – 34°F
• Umidità relativa – 72%
• Vento - Nord a 13 MPH
• Pressione barometrica – 30,45 costante
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.
5. Fare clicCreare.
6. Nella Visualizzazione elenco, fare clic sul nuovo programma Ottieni pagina Web protetta.
7. Fare clicModificare.
• BaseUrl – [Link]
• Metodo – OTTIENI
• Intestazioni – ""
• Messaggio – Nessuno
11. Nella Visualizzazione elenco, fare clic sul programma Ottieni script pagina Web protetta.
Temi
Redattore di script
Figura:
Numero Descrizione
Continua
Numero Descrizione
Barra di stato
Riquadro Proprietà
Riquadro di controllo
Continua
Numero Descrizione
Riquadro Trova
Usa ilRedattore di scriptbarra degli strumenti per eseguire una serie di attività diverse all'interno
dell'applicazione.
Pulsante Descrizione
Aprire
Salva
Fare clic per salvare il programma attualmente attivo.
Salva tutto
Stampa
Taglio
copia
Fare clic per copiare il testo selezionato.
Impasto
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
Continua
Pulsante Descrizione
Associazioni di script
Controllo
programma.
Seleziona tutto
programma aperti.
Inizio
Fermare
Traccia attiva
Traccia disattivata
Andare
Fare un passo
Trovare
Sostituire
Aiuto
Continua
Pulsante Descrizione
Menù di scrittura
Salva
Fare clic per salvare un programma o una funzione script.
Disfare
Rifare
Componente Descrizione
Componente Descrizione
Comando Descrizione
Aggiungi alla libreria Apre ilAggiungi alla libreria codicifinestra di dialogo in cui
è possibile salvare le voci della libreria di codici.
Continua
Comando Descrizione
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 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.
Continua
Componente Descrizione
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.
Componente Descrizione
Orario di inizio linea Visualizza l'ora di inizio della riga del programma.
Continua
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Componente Descrizione
Temi
L'errore del compilatore non contiene 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.
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.