Ambiente per l’automazione industriale Versione 1 · Ambiente per l’automazione industriale....

71
Versione 1.2 Versione 1.2 Ambiente per l’automazione industriale

Transcript of Ambiente per l’automazione industriale Versione 1 · Ambiente per l’automazione industriale....

Versione 1.2 Versione 1.2

Ambiente per l'automazione industriale

Manuale di WMOVIE

Sommario I

Sommario

INTRODUZIONE ......................................................................................................................................................V

PREMESSA.................................................................................................................................................................VEsempi ................................................................................................................................................................... V

Esempio 1............................................................................................................................................................................VICreazione di una finestra .................................................................................................................................................VICreazione di un oggetto...................................................................................................................................................VICollegamento di un'azione (Animation Link) di input .................................................................................................. VIICreazione di una variabile ............................................................................................................................................VIIISalvataggio della finestra .................................................................................................................................................XAssegnazione della finestra come finestra iniziale ...........................................................................................................XEsecuzione del Run-Time................................................................................................................................................XICollegamento di un'azione (Animation Link) di output ..................................................................................................XI

Esempio 2.......................................................................................................................................................................... XIIDizionario nomi variabili .............................................................................................................................................. XIIScelta dei colori ............................................................................................................................................................. XII

Esempio 3.........................................................................................................................................................................XIIICostruzione degli Animation Link ...............................................................................................................................XIII

Rettangolo 1 .............................................................................................................................................................XIIIRettangolo 2 .............................................................................................................................................................XIVValvola .....................................................................................................................................................................XIVTesto accanto alla valvola.......................................................................................................................................... XVPulsante ....................................................................................................................................................................XVI

Costruzione del programma di animazione ..................................................................................................................XVIEsempio 4....................................................................................................................................................................... XVIIOggetti bitmap............................................................................................................................................................... XVIII

Costruzione di un oggetto Bitmap ............................................................................................................................. XVIII

CAPITOLO 1...............................................................................................................................................................1

OGGETTI.....................................................................................................................................................................1Oggetti semplici......................................................................................................................................................2

Linea......................................................................................................................................................................................2Tracciamento.....................................................................................................................................................................2Attributi .............................................................................................................................................................................2

Spessore.........................................................................................................................................................................2Tipo ...............................................................................................................................................................................2Colore della linea...........................................................................................................................................................3

Rettangolo .............................................................................................................................................................................4Tracciamento.....................................................................................................................................................................4Attributi .............................................................................................................................................................................4

Spessore, tipo e colore del bordo...................................................................................................................................4Colore di riempimento...................................................................................................................................................4

Ellisse ....................................................................................................................................................................................5Tracciamento.....................................................................................................................................................................5Attributi .............................................................................................................................................................................5

Bottone..................................................................................................................................................................................6Tracciamento.....................................................................................................................................................................6Attributi .............................................................................................................................................................................6

Scrittura dell’etichetta del bottone.................................................................................................................................6Testo......................................................................................................................................................................................7

Tracciamento.....................................................................................................................................................................7Attributi .............................................................................................................................................................................7

Tipo ...............................................................................................................................................................................7Stile ...............................................................................................................................................................................7Dimensione....................................................................................................................................................................8Colore............................................................................................................................................................................8Modifica del testo..........................................................................................................................................................8

Oggetti particolari ...............................................................................................................................................................10Le bitmap in WMOVIE...................................................................................................................................................10

Versione 1.2

SommarioII

Creazione di un oggetto bitmap .......................................................................................................................................10Operazioni possibili .........................................................................................................................................................10Immagine ombra..............................................................................................................................................................10

CAPITOLO 2 ............................................................................................................................................................ 11

ANIMATION LINK ..................................................................................................................................................... 11Introduzione ......................................................................................................................................................... 12

Attivazione di un Animation Link .......................................................................................................................................12Animation Link associabili ad un oggetto ...........................................................................................................................12

Elenco degli Animation Link................................................................................................................................ 12Elenco AL e relativi sottomenu ............................................................................................................................ 13

AL-Input..............................................................................................................................................................................13Descrizione......................................................................................................................................................................13Sottomenu........................................................................................................................................................................13

Input-Discreto..............................................................................................................................................................13Input-Analogico...........................................................................................................................................................13

Input-Analogico-Semplificato .................................................................................................................................13Input-Analogico-Completo......................................................................................................................................14

Oggetti che lo supportano................................................................................................................................................14AL-Cursore..........................................................................................................................................................................15

Descrizione......................................................................................................................................................................15Sottomenu........................................................................................................................................................................15

Cursore-Verticale.........................................................................................................................................................15Cursore-Orizzontale.....................................................................................................................................................15

Oggetti che lo supportano................................................................................................................................................15AL-Pulsante.........................................................................................................................................................................16

Descrizione......................................................................................................................................................................16Sottomenu........................................................................................................................................................................16

Pulsante-Valore Discreto .............................................................................................................................................16Pulsante-Valore Discreto-Set...................................................................................................................................16Pulsante-Valore Discreto-Reset ...............................................................................................................................16Pulsante-Valore Discreto-Toggle.............................................................................................................................16

Pulsante-Azione...........................................................................................................................................................17Pulsante-Mostra Finestra .............................................................................................................................................17Pulsante-Nascondi Finestra..........................................................................................................................................17Pulsante-Distruggi Finestra..........................................................................................................................................17

Differenze tra Nascondi Finestra e Distruggi Finestra.....................................................................................................17Oggetti che lo supportano................................................................................................................................................17

AL-Variazione Colore Penna ..............................................................................................................................................18Descrizione......................................................................................................................................................................18Sottomenu........................................................................................................................................................................18

Variazione Colore Penna-Discreto ..............................................................................................................................18Variazione Colore Penna-Analogico ...........................................................................................................................19

Oggetti che lo supportano................................................................................................................................................19AL-Variazione Colore Riempimento...................................................................................................................................20

Descrizione......................................................................................................................................................................20Sottomenu........................................................................................................................................................................20

Variazione Colore Riempimento-Discreto...................................................................................................................20Variazione Colore Riempimento-Analogico................................................................................................................20

Oggetti che lo supportano................................................................................................................................................20AL-Variazione Colore Testo ...............................................................................................................................................21

Descrizione......................................................................................................................................................................21Sottomenu........................................................................................................................................................................21

Variazione Colore Testo-Discreto ...............................................................................................................................21Variazione Colore Testo-Analogico ............................................................................................................................21

Oggetti che lo supportano................................................................................................................................................21AL-Output ...........................................................................................................................................................................22

Descrizione......................................................................................................................................................................22Formato ...........................................................................................................................................................................22Sottomenu........................................................................................................................................................................22

Output-Discreto ...........................................................................................................................................................23Output-Analogico ........................................................................................................................................................23

Oggetti che lo supportano................................................................................................................................................23AL-Variazione Posizione.....................................................................................................................................................24

Descrizione......................................................................................................................................................................24Sistema di coordinate.......................................................................................................................................................24Sottomenu........................................................................................................................................................................24

Variazione Posizione-Verticale ...................................................................................................................................24Variazione Posizione-Orizzontale ...............................................................................................................................25

Oggetti che lo supportano................................................................................................................................................25

Manuale di WMOVIE

Sommario III

AL-Variazione Dimensioni .................................................................................................................................................26Descrizione......................................................................................................................................................................26Sistema di coordinate ......................................................................................................................................................26Sottomenu .......................................................................................................................................................................26

Variazione Dimensioni-Altezza...................................................................................................................................26Variazione Dimensioni-Larghezza ..............................................................................................................................26

Oggetti che lo supportano................................................................................................................................................27AL-Riempimento Percentuale .............................................................................................................................................28

Descrizione......................................................................................................................................................................28Sottomenu .......................................................................................................................................................................28

Riempimento Percentuale-Verticale............................................................................................................................28Riempimento Percentuale-Orizzontale ........................................................................................................................28

Oggetti che lo supportano................................................................................................................................................28AL-Variazione Visibilità.....................................................................................................................................................28

Descrizione......................................................................................................................................................................28Associazione di un AL-Variazione Visibilità ..................................................................................................................29Funzionamento ................................................................................................................................................................29Oggetti che lo supportano................................................................................................................................................29

CAPITOLO 3.............................................................................................................................................................31

REALIZZAZIONE DI UNA APPLICAZIONE ....................................................................................................................31Creazione di una finestra mediante il Toolkit ......................................................................................................32Opzioni di finestra................................................................................................................................................32Salvataggio della finestra.....................................................................................................................................33Significato della finestra iniziale e sua assegnazione ..........................................................................................33Comandi di apertura di successive finestre..........................................................................................................33Comandi di chiusura delle finestre.......................................................................................................................34Esempio di creazione di una finestra iniziale che ne richiama un'altra a programma........................................34

CAPITOLO 4.............................................................................................................................................................35

ELENCO DEI FILES TRATTATI E CREATI DAL TOOLKIT ...............................................................................................35File di descrizione della finestra (*.WMV)...........................................................................................................36File: Wmlogic.......................................................................................................................................................36File: Wmconfig .....................................................................................................................................................36File: Wmdisp ........................................................................................................................................................36File: Wmdbdesc....................................................................................................................................................36

CAPITOLO 5.............................................................................................................................................................37

OPERAZIONI E REGOLE SINTATTICHE........................................................................................................................37Operazioni e regole sintattiche ............................................................................................................................38

Operazioni aritmetiche ........................................................................................................................................................38Assegnazione...................................................................................................................................................................38Somma, sottrazione, moltiplicazione, divisione ..............................................................................................................38

Operazioni logiche ..............................................................................................................................................................38Set di una variabile ..........................................................................................................................................................38Reset di una variabile ......................................................................................................................................................38Inversione di una variabile (di tipo bit a bit) ...................................................................................................................38And/or/or esclusivo (di tipo bit a bit) ..............................................................................................................................38

Altre operazioni...................................................................................................................................................................39Attivazione di una finestra...............................................................................................................................................39Disattivazione di una finestra ..........................................................................................................................................39Cancellazione di una finestra...........................................................................................................................................39Operazioni logiche del tipo vero-falso.............................................................................................................................39And/or/not (logici)...........................................................................................................................................................39Condizione semplice (esegue l'Animation Link se vero).................................................................................................39Condizione complessa.....................................................................................................................................................39Operazioni multiple.........................................................................................................................................................39

CAPITOLO 6.............................................................................................................................................................41

WMOVIE DATI ........................................................................................................................................................41Introduzione .........................................................................................................................................................42Menu dati .............................................................................................................................................................42

Lettura di un dato ................................................................................................................................................................42Modifica di un dato .............................................................................................................................................................42Inserimento di un nuovo dato (Nome).................................................................................................................................43Campi obbligatori del dato ..................................................................................................................................................43

Tipi di dati: considerazioni ..................................................................................................................................43Tipo Intero...........................................................................................................................................................................43

Versione 1.2

SommarioIV

Tipo Lungo..........................................................................................................................................................................44Tipo Float ............................................................................................................................................................................44

Commento ............................................................................................................................................................ 44Valore iniziale .....................................................................................................................................................................44Nome Esterno e Nome Applicazione...................................................................................................................................44Min e Max Grezzo e Ingegneristico.....................................................................................................................................44

CAPITOLO 7 ............................................................................................................................................................ 45

EDITOR LOGIC.......................................................................................................................................................... 45Introduzione ......................................................................................................................................................... 46Sintassi ................................................................................................................................................................. 46

Operatori aritmetici..............................................................................................................................................................46Operatori logici....................................................................................................................................................................46Operatori ausiliari ................................................................................................................................................................47Operatori di comparazione ..................................................................................................................................................47Operatori condizionali .........................................................................................................................................................47

Regola 1...........................................................................................................................................................................47Regola 2...........................................................................................................................................................................47

Funzioni...............................................................................................................................................................................48Attivazione di una finestra...............................................................................................................................................48Disattivazione di una finestra ..........................................................................................................................................48Cancellazione di una finestra...........................................................................................................................................48Attivazione di un programma eseguibile .........................................................................................................................48

APPENDICE ............................................................................................................................................................. 49

BITMAP .................................................................................................................................................................... 49

Manuale di WMOVIE

Introduzione V

I N T R O D U Z I O N EI N T R O D U Z I O N E

PremessaWMOVIE è un pacchetto che consente di costruire in modo semplice edintuitivo un'interfaccia per l'operatore che deve controllare ilfunzionamento di una macchina o un processo produttivo: esso è quindiadatto ad essere utilizzato per sviluppare attività di supervisione.WMOVIE lavora solo in ambiente Windows. Per le specifiche tecnicherichieste all'hardware e al sistema operativo consultare i manuali EPI.Il suo utilizzo non richiede che l'utente disponga di nozioni diprogrammazione anche se è utile una confidenza con la sintassi del tipo“IF/THEN/ELSE” oltre ad ovviamente una buona conoscenza dei processie delle apparecchiature che si intendono utilizzare per controllarli.WMOVIE, ai fini dell'utilizzatore, può essere visto come suddiviso in dueprogrammi: WMTOOL e WMOVIE propriamente detto.WMTOOL (detto anche sistema di sviluppo) è lo strumento messo adisposizione dell'utente che sviluppa l'applicazione per consentirgli dicostruire l'ambiente visivo e di elaborazione in cui l'operatore dovràlavorare.WMOVIE è l'esecutore (detto anche Run-Time) delle direttive costruitecon il sistema di sviluppo, è cioè il programma con cui dovrà interagirel'operatore.Questo manuale è inteso come guida e strumento di consultazione per chiha il compito di sviluppare l'applicazione, per colui quindi che opereràmediante WMTOOL. Egli potrà progredire nello sviluppo passo passotestandone i risultati mediante l'attivazione di WMOVIE Run-Time.Suo compito sarà inoltre stendere le istruzioni dedicate all'operatore e chedescriveranno la particolare applicazione realizzata.A WMTOOL e a WMOVIE si accede semplicemente cliccando sullerispettive icone.Inizieremo questo manuale con alcuni esempi di tipo tutorial persemplificare e rendere immediatamente operativo l'approccio al sistema edalla sua logica principalmente basata sulla programmazione ad oggetti.

EsempiVerranno qui descritti i passi da seguire per creare dei piccoli esempi eacquisire una prima conoscenza dell'ambiente di sviluppo.Gli esempi sono volutamente semplici e ben diversi dalle applicazioni acui WMOVIE è rivolto, ma rappresentano un veloce metodo dipresentazione delle caratteristiche generali del pacchetto.Dal Program Manager di Windows si mandi in esecuzione il TOOLKITcon un doppio click sull'icona relativa.L'ambiente dedicato allo sviluppo di applicazioni si presenta all'utente neltradizionale stile delle applicazioni in ambiente Windows, ovvero con unmenu nella parte alta dello schermo ed una barra di icone la cui funzione èsuggerita dalla raffigurazione sull'icona stessa.

Versione 1.2

IntroduzioneVI

Esempio 1

Creazione di una finestraLa prima operazione da eseguire è la creazione di una finestra su cuicostruire gli oggetti; selezionando la voce del menu File-Nuova Finestra otramite la simultanea pressione dei tasti <CTRL><N>, verrà visualizzatasullo schermo una finestra di dialogo su cui si dovrà indicare il nome dellafinestra che ci si appresta a creare.

Sul significato degli altri campi presenti si veda la sezione dedicata.Solo l'indicazione del nome è obbligatoria, gli altri campi assumono unvalore predefinito. Si scriva “ESEMPIO”.Dopo la pressione del tasto <INVIO>, o mediante un click del mouse sulpulsante OK, verrà visualizzata la nuova finestra.

Creazione di un oggettoSupponiamo di voler creare un oggetto di forma rettangolare agendo sulquale sia possibile assegnare ad una variabile un valore numerico (cherappresenti per esempio una temperatura).Si selezioni con l'uso del mouse l'icona raffigurante un rettangolo;spostando il cursore nella zona della finestra aperta lo si vedrà assumerel'aspetto dell'icona selezionata.Per tracciare il rettangolo si sposti il cursore nella posizione in cui sidesidera disegnare l'oggetto, si prema e si tenga premuto il tasto sinistrodel mouse spostando lo stesso fino a quando la figura assuma ledimensioni desiderate; al rilascio del tasto l'operazione di disegno saràcompletata.

IconaRettangolo

Manuale di WMOVIE

Introduzione VII

Si ritorni sulla barra delle icone e si selezioni il cursore di base (il primo asinistra); si noti che il cursore assumerà ancora l'aspetto dell'iconaselezionata e cioè la classica freccia inclinata.Sarà ora possibile selezionare il rettangolo disegnato sostanzialmente indue modi:� con un click del mouse quando la freccia è sovrapposta all'oggetto� circoscrivendo l'oggetto con un rettangolo più ampio, creato

mantenendo premuto il tasto sinistro del mouse.La selezione dell'oggetto risulta evidenziata dalla comparsa di ottoquadratini ai vertici del rettangolo e nella mezzeria dei suoi lati.Spostando il mouse sopra ad uno di questi quadratini sarà possibilemodificare le dimensioni della figura.

Collegamento di un'azione (Animation Link) di inputAl momento si è solo creata una figura geometrica e non un oggetto diinput. Per far diventare il rettangolo un oggetto di input gli si devecollegare un’azione; il collegamento, denominato “Animation Link”, sieffettua con i seguenti passi:� assicurarsi che il cursore corrente sia quello di base, ovvero la freccia

inclinata; se non è così, selezionare l'icona corrispondente(la prima a sinistra nella barra delle icone)

� selezionare l'oggetto� selezionare la voce di menu Speciale-Animation Link.

Si aprirà un sottomenu in cui vi saranno delle voci in nero ed altre ingrigio; quelle in nero sono l'elenco degli Animation Link che sonopossibili sull'oggetto selezionato.

? Si ponga attenzione: se le voci sono tutte di colore grigio,ovvero non selezionabili, si è semplicemente saltato la fase 2.

+ NotaPer aprire il menu degli AnimationLink relativi ad un oggetto, esisteuna procedura accelerata che consistenel fare semplicemente un doppioclick sull'oggetto stesso.

Versione 1.2

IntroduzioneVIII

� selezionare la voce Cursore-Verticale. È un Animation Link chepermette l’immissione di un valore numerico tramite una barracursore, nel consueto stile Windows. La selezione di questa voceaprirà una finestra di dialogo che chiederà di indicare il nome di unavariabile.

Creazione di una variabileLa finestra di dialogo chiede di indicare il nome della variabile chericeverà il valore immesso tramite il collegamento che si sta impostando.

Allo stato attuale la finestra di dialogo non potrà fornire nemmeno l'elencodelle variabili già presenti nel DataBase essendo questo verosimilmentevuoto. Solitamente questa lista di variabili, visualizzata nella parte destradella finestra di dialogo, fornisce un utile richiamo mnemonico e l'utentepuò facilmente selezionare una delle variabili create in precedenza.Nel nostro caso sarà necessario definire una variabile nuova. A questoscopo si dovranno seguire i seguenti passi:� scrivere il nome che s'intende dare alla nuova variabile (al massimo

15 caratteri); si scriva per esempio “TEMP”� premere <INVIO>; una finestrella di avvertimento vi chiederà se

intendete definire una nuova variabile con il nome indicato;ovviamente risponderete “SI”.

Si aprirà la finestra di dialogo che permette di definire le caratteristichedella nuova variabile e di salvare la stessa nel DataBase.

Un approfondimento dei campi presenti su questa finestra verrà dato inapposita sezione; per ora vedremo solo le caratteristiche essenziali perprocedere.Il nome della variabile è già selezionato nell'apposito campo.

Manuale di WMOVIE

Introduzione IX

Si inserisca un commento nel campo denominato per l'appunto“Commento”; operazione facoltativa ma sicuramente utile non appena siavrà a che fare con un numero di variabili tale da non ricordare ilsignificato assunto da ognuna.Nella sezione dedicata all'indicazione del tipo di valori che la variabile èdestinata ad assumere, indicate per esempio “Float”, selezionando con ilmouse il relativo circoletto che diverrà selezionato.Queste indicazioni sono per ora sufficienti e si può quindi procedere allamemorizzazione del nuovo nome effettuando un click sul pulsante OK; unmessaggio indicante il corretto salvataggio della variabile apparirà sulloschermo.Ora si tornerà sulla finestra di dialogo precedente e si potrà procedere conun click sul pulsante OK.Ora la variabile esiste ed è quindi possibile entrare nella finestra didialogo specifica dell’Animation Link prescelto (Cursore-Verticale nelnostro caso).Verranno chiesti due valori per specificare il campo di valori accettabiliper la variabile in questione.

Se, per esempio, facciamo riferimento ad una temperatura possiamosupporre che il campo di valori possa variare da un minimo di -30 gradicentigradi ad un massimo di +40 gradi. Nel qual caso scriveremo -30 in uncampo e 40 nell'altro. Per passare da un campo all'altro è possibile usare iltasto <TAB> della tastiera oppure usare il mouse. Un click sul pulsanteOK concluderà, come di consueto, la procedura.Si è così conclusa l'operazione di collegamento dell'azione di inputall'oggetto raffigurato.

Versione 1.2

IntroduzioneX

Salvataggio della finestraÈ in ogni momento possibile salvare la finestra su cui si sta lavorandotramite la voce del menu File-Salva Finestra, o tramite la simultaneapressione dei tasti <CTRL><S>; la prima volta che si effettua questaoperazione verrà visualizzata una finestra di dialogo che chiederà diindicare il nome del file su cui s'intende salvare la finestra (ovvero tutte leinformazioni ad essa associate, che permetteranno di memorizzarla suldisco rigido e quindi non perderla definitivamente alla chiusura delTOOLKIT).

Com'è noto i files nel sistema operativo DOS sono specificati da un nomecomposto al massimo da 8 caratteri e da un'estensione di al massimo 3caratteri. WMOVIE ha assunto, per i files descriventi le sue finestre, laconvenzione di avere l'estensione “WMV”. Sarà quindi necessario chel'utente specifichi un nome con tale estensione, per esempio“ESEMP1.WMV”, nell'apposito campo della finestra di dialogo, econcluda la procedura con il solito click sul pulsante OK.

Assegnazione della finestra come finestra inizialeÈ a questo punto possibile fare una prima verifica di ciò che accade sullafinestra appena realizzata; a tal fine si deve comunicare al programma cheeseguendo il Run-Time venga visualizzata la nuova finestra.Per far ciò è necessario selezionare la voce del menu Speciale-FinestraIniziale, rispondere “SI” alla finestrella di dialogo che domanda ses'intende modificare (in questo caso definire) la finestra iniziale che saràcaricata dal Run-Time, e specificare nella successiva finestra di dialogoproprio il nome del file su cui si è salvata la finestra appena creata.

Manuale di WMOVIE

Introduzione XI

Esecuzione del Run-TimeCon un click sulla voce del menu File-RunTime (o dal Program Manager)si esegua il programma. Muovendo il mouse sul rettangolo raffigurato losi vedrà selezionarsi (apparirà una cornice rossa); con il click sul tastosinistro del mouse si aprirà una finestra di dialogo con una barra cursoresu cui è possibile agire per modificare il valore numerico della variabilescelta nel TOOLKIT. Avendo anche definito un valore massimo ed unominimo per tale variabile, che rappresenta si è detto una temperatura, sipuò immediatamente verificare che l'azione del cursore varia dal minimoal massimo stabiliti.Per concludere si esca dal Run-Time usando la voce del menu che chiudeil programma.

Collegamento di un'azione (Animation Link) di outputDopo aver verificato il funzionamento del meccanismo di collegamento adun'azione di input si descrive ora un Animation Link di output.Si ritorni all'interno del TOOLKIT e sulla stessa finestra di prima si creiun oggetto di tipo Testo in modo analogo alla creazione del rettangolo,ovvero:� si faccia un click sull'icona raffigurante “abc ”� si porti il mouse in una posizione preferita all'interno della finestra di

lavoro (si noterà che il cursore assume l'aspetto di una T)� si faccia un click (sempre usando il tasto sinistro del mouse)� si scriva il testo “TEMP = ####”� si concluda con il tasto <INVIO>; il testo comparirà sulla finestra.I cancelletti “#” sono caratteri speciali in quanto saranno, nel Run-Time,sostituiti dal valore della variabile collegata all'oggetto Testo.Ovviamente, perché ciò avvenga, si dovrà collegare un'azione di outputall'oggetto Testo. Allo scopo si colleghi, in modo analogo a prima, unAnimation Link di tipo output con le seguenti operazioni:� selezionare l'oggetto Testo� selezionare la voce del menu Speciale-Animation Link (o doppio click

sull'oggetto)� selezionare la voce del menu Output-Analogico.Comparirà una finestra di dialogo che chiede il nome della variabile; siscriva “TEMP” e si concluda con il click del mouse sul pulsante OK.

Si noti che se ora si ripetono le fasi 1 - 2 il menu dei nomi degliAnimation Link avrà un segno di spunta in corrispondenzadell’Animation Link posseduto dall'oggetto selezionato.Lo si verifichi anche per l'oggetto Rettangolo.Si salvi la finestra con la procedura già indicata (oppure con la simultaneapressione dei tasti <CTRL><S>) e con un click sulla voce del menu File-RunTime si esegua il programma. Si eseguano le operazioni di prima e sivedrà comparire accanto all'oggetto Testo il valore della variabile.

Icona Testo

Versione 1.2

IntroduzioneXII

Esempio 2

Dizionario nomi variabiliLa finestra di dialogo che permette di definire, modificare, cancellare levariabili presenti nel DataBase è già stata vista nell'esempio 1, quando si èdefinita la variabile TEMP.Si selezioni la voce del menu Speciale-Dizionario Nomi (oppure<CTRL><D>).La variabile TEMP è selezionabile con un semplice click sull'elencopresente in alto a sinistra. I campi si riempiranno dei valori associati allavariabile.

La variabile rappresenta, si è detto, un valore di temperatura; come talepotrebbe raggiungere dei valori che possono essere considerati pericolosiper un particolare impianto.

Scelta dei coloriNel TOOLKIT, con un click sulla voce del menu Colori, è possibiledefinire i colori degli oggetti presenti nelle finestre.Le tre palettes indicano il colore rispettivamente del bordo, delriempimento di un oggetto e del testo. Per modificare gli attributi di coloredi un oggetto è sufficiente selezionarlo, aprire la finestra dei colori e conl'uso del mouse selezionare un nuovo colore dalle palettes.

Un click sul pulsante Oggetto modificherà il colore dell'oggettoselezionato. Un click sul pulsante Tool ridefinisce i colori predefiniti (didefault) modificandoli in quelli al momento selezionati.

Manuale di WMOVIE

Introduzione XIII

Esempio 3S'intende ora dare un esempio di creazione di animazione automaticamediante un piccolo programma, denominato “Logic”, che è possibilecostruire mediante un editor interno al TOOLKIT.L'Editor è richiamabile mediante la voce del menu Speciale-Editor Logic.Prima di procedere con l'Editor Logic, si eseguano i seguenti passi al finedi costruire la finestra raffigurata:

� selezionare la voce del menu Modifica-Snap� creare una finestra nuova di nome “ESEMPIO”� disegnare un rettangolo a spigoli arrotondati mediante un click sulla

relativa icona e tracciamento secondo le solite modalità� selezionare l'oggetto� selezionare la voce del menu Modifica-Duplica� spostare il nuovo rettangolo in posizione più bassa rispetto al primo� per disegnare il simbolo della valvola si utilizzi il cursore che si

ottiene dal click sull'icona che raffigura un segmento, oppure si usi unbitmap predisposto

� per i testi si proceda come già visto nell'esempio 1� il pulsante si costruisce mediante l'icona che lo raffigura.

Costruzione degli Animation Link

Rettangolo 1Si colleghi un Animation Link di nome Riempimento Percentuale, checompie l'azione di un riempimento percentuale dell'oggetto; per far ciò, alsolito, si selezioni l'oggetto e si selezioni la voce del menu Speciale-Animation Link-Riempimento Percentuale-Verticale (che riempiel'oggetto in direzione verticale).Comparirà una finestra di dialogo su cui specificare il nome dellavariabile: si scriva per esempio “LIV1” che poi andremo a definire quandoverrà richiesto.

Icona Bottone

Versione 1.2

IntroduzioneXIV

Sui successivi quattro campi si scrivano i valori massimo e minimo dellavariabile e dei corrispondenti valori di riempimento percentuali voluti: peresempio al valore 0 corrisponda un riempimento percentuale nullo ed alvalore 100 corrisponda un riempimento percentuale totale.Il colore dello sfondo può essere scelto con un click sull'apposito pulsante(bk_color), mentre il colore di riempimento è quello dell'oggetto.Al click su OK verrà chiesto se si vuole definire la variabile LIV1, sirisponda “SI” e la si definisca di tipo intero.

Rettangolo 2Si può procedere come nel caso precedente con la differenza che al postodi LIV1 si scriverà “100-LIV1”.

ValvolaSi colleghi un Animation Link di nome Pulsante, che compia l'azione difar cambiare valore ad una variabile, con un funzionamento di tipo“Toggle”; per far ciò, al solito, si selezioni l'oggetto e si selezioni la vocedel menu Speciale-Animation Link-Pulsante-Valore Discreto-Toggle;scrivere un nome di variabile, per esempio “VALV”.

Al click su OK verrà chiesto se si vuole definire la variabile VALV, sirisponda “SI” e la si definisca di tipo intero.Si salvi la variabile e si risponda OK alle due successive finestre didialogo.

Manuale di WMOVIE

Introduzione XV

Si colleghi un Animation Link di nome Variazione Colore Riempimento,che compia l'azione di far cambiare colore all'oggetto, in dipendenza alvalore assunto dalla variabile; lo scopo è di avere la valvola di coloreverde quando è aperta e di colore rosso quando è chiusa; per far ciò, alsolito, si selezioni l'oggetto e si selezioni la voce del menu Speciale-Animation Link-Variazione Colore Riempimento-Discreto.

Si scriva il nome della variabile “VALV”, e si selezionino i colori rosso everde.

Testo accanto alla valvolaDopo aver scritto “#####”, si selezioni il testo e si colleghi un AnimationLink di nome Output selezionando la voce del menu Speciale-AnimationLink-Output-Discreto.

Si scriva il nome della variabile “VALV” e i testi “APERTA” e“CHIUSA”; concludere con OK.

Versione 1.2

IntroduzioneXVI

PulsanteÈ un oggetto particolare; per collegare un azione è sufficiente selezionarloe cliccare sul pulsante destro del mouse.

Nella finestra che apparirà, alla dicitura espressione, si effettuerà lascrittura dell'espressione, per l'esempio scrivere “LIV1 = 100”, al fine diricreare la condizione di partenza.Sul secondo campo scrivere il testo che comparirà come etichetta sulpulsante e concludere con OK.

Costruzione del programma di animazioneSi selezioni la voce del menu Speciale-Editor Logic; verrà visualizzatauna finestra di dialogo che permette la scrittura di una sequenza diistruzioni.

L’esecuzione di questo programma avverrà ciclicamente con un intervallodi tempo che si dovrà specificare nel primo campo che compare (il tempoè espresso in millisecondi).Per l'esempio si scriveranno due semplici espressioni:IF (VALV AND LIV1) THEN (LIV1 = LIV1 - 5) ENDIFIF (LIV1 < = 0) THEN (LIV1 = 100) ENDIFVengono usati due costrutti linguistici IF-THEN-ELSE-ENDIF ed unoperatore logico AND. Le due espressioni esprimono i seguenti meccanismi:� se la valvola è aperta (VALV = 1) e se il serbatoio non è vuoto (LIV1

non è 0) allora decremento il livello del serbatoio di 5 unità(LIV1 = LIV1 - 5)

+ NotaImportante: per gli oggetti che sisovrappongono può essereorganizzato un ordine, su ipoteticipiani, mediante l'uso delle voci dimenu Adatta-Spedisci Indietro eAdatta-Richiama Avanti.

+ NotaÈ indispensabile chiudere sempre lerighe IF...THEN...ENDIF conl'istruzione ENDIF, altrimenti irisultati possono essereimprevedibili.La sintassi (IF...THEN...ENDIF)deve sempre essere contenuta in unariga: non sono ammessi “a capo”.

Manuale di WMOVIE

Introduzione XVII

� se il livello del serbatoio è nullo o addirittura negativo ricominciodall'inizio ponendo il livello a valore massimo.

Concludere salvando il programma con un click sul pulsante OK.

Esempio 4Si consideri ancora l'esempio precedente in cui vi sono tre grandezze chevariano: il livello del serbatoio 1, il livello del serbatoio 2, lo stato dellavalvola. In realtà i livelli dei due serbatoi non sono due grandezzeindipendenti, infatti l'azione di riempimento del serbatoio 2 dipende, comesi è visto, dall'espressione “100-LIV1”. In sostanza vi sono solo duevariabili, LIV1 e VALV, che variano nel tempo. Può essere in generale,utile, o necessario, avere una rappresentazione dell'andamento dei valoridi alcune variabili rispetto al tempo.Nel TOOLKIT si richiami la finestra dell’esempio 3 e si disegni unpulsante nella parte bassa della finestra; si colleghi a questo un'azione conla seguente espressione: SHOW(“ES3.WMV”).

L'azione collegata al click sul pulsante consiste nell'apertura della finestraindicata tra parentesi.

Versione 1.2

IntroduzioneXVIII

Oggetti bitmapWMOVIE permette di usare per la costruzione di pagine, oggetti Bitmap.I bitmap permettono di rendere più completa e varia la rappresentazione diuna impianto, di un sinottico ecc.

Costruzione di un oggetto BitmapPer costruire un oggetto Bitmap si deve innanzitutto avere un'immaginebitmap, ovvero un'immagine memorizzata su disco in un file il cui nomeha estensione BMP, per esempio “PIPPO.BMP”.Questo tipo di formato per le immagini è molto usato in ambienteWindows ed è comunque possibile convertire un'immagine da un formatografico diverso nel formato bitmap con un comunissimo programma digrafica.Per costruire un'immagine si può far uso anche degli strumenti messi adisposizione da Windows (vedi PaintBrush), oltre che usare programmipiù sofisticati.Ciò che interessa è ottenere su disco l'immagine in formato bitmap.Facendo click sull’icona bitmap è possibile inserire nella finestra oggettibitmap.

+ NotaIl file bitmap dovrà essere salvatonella directory di lavoro corrente.

Icona Bitmap

Manuale di WMOVIE

Capitolo 1 - Oggetti 1

C A P I T O L O 1C A P I T O L O 1

Oggetti

Versione 1.2

Capitolo 1 - Oggetti2

Oggetti semplici

LineaLa linea è un oggetto grafico elementare, selezionabile mediante un clicksull’icona che lo raffigura.

TracciamentoDopo il click (il cursore assume l’aspetto dell’icona) è possibile tracciareuna linea nel seguente modo:� portare il mouse sul punto in cui si vuole iniziare la linea� premere il tasto sinistro del mouse.� mantenere premuto il tasto sinistro del mouse e spostarsi sul punto

finale.Al rilascio del tasto del mouse la linea è tracciata.Sull’estrema destra della barra icone è possibile osservare le coordinate x,y relative alla posizione del mouse nella finestra corrente; il sistema dicoordinate assume lo zero nell’angolo in alto a sinistra della finestra.

AttributiGli attributi definibili su una linea sono:� spessore� tipo� colore.

SpessoreLo spessore della linea può essere definito tramite le voci del menu Lineasecondo le seguenti regole:� scelta locale: se è stato selezionato un oggetto la selezione riguarda

solo l’oggetto selezionato� scelta generale: se non è stato selezionato alcun oggetto la selezione

rappresenta una scelta globale, ovvero tutte le linee che verrannosuccessivamente tracciate avranno lo spessore selezionato. In questocaso in corrispondenza della voce del menu selezionata comparirà unvisto; un successivo click renderà nulla la scelta ed il visto scomparirà.

? I tipi di linea diversi da quella standard (continua) non possono averespessore superiore a quello definito normale.

TipoIl tipo di linea può essere definito tramite le voci del menu Linea secondole seguenti regole:� scelta locale: se è stato selezionato un oggetto la selezione riguarda

solo l’oggetto selezionato

Icona Linea

Manuale di WMOVIE

Capitolo 1 - Oggetti 3

� scelta generale: se non è stato selezionato alcun oggetto la selezionerappresenta una scelta globale, ovvero tutte le linee che verrannosuccessivamente tracciate saranno del tipo selezionato. In questo casoin corrispondenza della voce del menu selezionata comparirà un visto;un successivo click renderà nulla la scelta ed il visto scomparirà.

? I tipi di linea diversi da quella standard (continua) non possono averespessore superiore a quello definito normale.

Colore della lineaIl colore della linea può essere definito tramite la voce del menu Coloridopo aver selezionato l’oggetto Linea.Delle tre palette che compaiono interesserà solo quella relativa al bordo,essendo la linea un oggetto privo di un colore di riempimento.La selezione di un colore avviene mediante i seguenti passi:� selezione dell’oggetto Linea� selezione della voce del menu Colori� un click del mouse sul colore della palette che si vuole far assumere

alla linea� un click del mouse sul bottone Oggetto affinché la scelta del colore

riguardi l’oggetto selezionato.

? Si ricorda che nella finestra dei colori il click del mouse sul bottoneTool avrà l’effetto di memorizzare i colori correnti come colori didefault del TOOLKIT.

Versione 1.2

Capitolo 1 - Oggetti4

RettangoloIl rettangolo è un oggetto grafico elementare, selezionabile mediante unclick sull’icona che lo raffigura .

TracciamentoDopo il click (il cursore assume l’aspetto dell’icona) è possibile tracciareun rettangolo posizionandosi sul punto d’inizio e, mantenendo premuto iltasto sinistro del mouse, spostandosi sul punto finale; al rilascio del tastodel mouse il rettangolo è tracciato.

AttributiGli attributi definibili su un oggetto Rettangolo sono:� spessore del bordo� tipo del bordo� colore del bordo� colore di riempimento.

Spessore, tipo e colore del bordoSi vedano le considerazioni fatte per l’oggetto Linea.

Colore di riempimentoDelle tre palette che compaiono, interessa quella relativa al colore diriempimento. La selezione di un colore avviene mediante i seguenti passi:� selezione dell’oggetto Rettangolo� selezione della voce del menu Colori� un click del mouse sul colore della palette che si vuole far assumere

alla linea� un click del mouse sul bottone Oggetto affinché la scelta del colore

riguardi l’oggetto selezionato.

Icona Rettangolo

Manuale di WMOVIE

Capitolo 1 - Oggetti 5

EllisseL’ellisse è un oggetto grafico elementare, selezionabile mediante un clicksull’icona che lo raffigura.L’ellisse ha come caso particolare il Cerchio.

TracciamentoSi veda l’oggetto Rettangolo.Per disegnare un Cerchio si eseguano le seguenti operazioni :� si dimensioni l’oggetto Ellisse in modo che assuma visivamente

l’aspetto di un cerchio� con l’oggetto selezionato si prema il tasto <F12> della tastiera� apparirà una finestra di dialogo su cui sono indicati le coordinate x, y,

dell’angolo sinistro del rettangolo che contiene l’ellisse, oltrechél’altezza e la larghezza di tale rettangolo (che corrispondono allediagonali dell’ellisse)

� si scriva uno stesso valore nei campi indicanti altezza e larghezza(corrispondono al diametro del cerchio).

All’uscita della finestra di dialogo l’oggetto Ellisse sarà divenuto unCerchio.

AttributiSi veda l’oggetto Rettangolo.

Icona Ellisse

Versione 1.2

Capitolo 1 - Oggetti6

BottoneIl bottone è un oggetto grafico elementare, selezionabile mediante un clicksull’icona che lo raffigura.Nel Run-Time l’oggetto apparirà e funzionerà come i tipici bottonidell’ambiente Windows.Si vedrà, in un altra sezione del manuale, come e quale azione associarealla pressione del bottone.

TracciamentoSi veda l’oggetto Rettangolo.

AttributiL’attributo definibile su un oggetto bottone è rappresentato dall’etichetta.

Scrittura dell’etichetta del bottoneOttenuto il disegno del bottone è possibile scrivere l’etichetta seguendo leseguenti operazioni:� selezionare il bottone� effettuare un click sul tasto destro del mouse� appare un finestra di dialogo: nel campo Etichetta, scrivere il nome

che si desidera far comparire sulla superficie del bottone.

Uscire dalla finestra di dialogo con un click su OK.Selezionando il Bottone e premendo il tasto funzione <F12> comparirà ilseguente dialogo che ha lo scopo di definire i tasti alternativi che possonoessere usati per selezionare il Bottone stesso.

Icona Bottone

Manuale di WMOVIE

Capitolo 1 - Oggetti 7

TestoIl testo è un oggetto grafico elementare, selezionabile mediante un clicksull’icona che lo raffigura.

TracciamentoDopo il click (il cursore assume l’aspetto di una T) si eseguano leseguenti operazioni:� si posizioni il mouse sul punto d’inizio e si faccia un click sul tasto

sinistro del mouse� appare un campo in cui scrivere il testo� si concluda con <INVIO>.Il testo apparirà sulla finestra.

AttributiGli attributi definibili su un oggetto Testo sono:� tipo� stile� dimensione� colore.

TipoSelezionare il testo, quindi selezionare la voce di menu Testo-Font.Apparirà una finestra di dialogo che permette di definire un tipo di font traquelli elencati. Per ogni tipo di font è possibile scegliere anche lo stile e ladimensione.

StileOltreché attraverso la finestra di dialogo dei font, lo stile è assegnabiledirettamente dalle voci del menu Testo� Normale� Grassetto� Sottolineato� Corsivosecondo le seguenti regole:� se non è selezionato alcun oggetto Testo il click su una voce (tra

quelle relative allo stile) del menu Testo rappresenta una sceltaglobale, ovvero tutti gli oggetti testo che verranno successivamentescritti avranno lo stile conseguente alla scelta effettuata; incorrispondenza della voce del menu selezionata comparirà un visto, unsuccessivo click renderà nulla la scelta ed il visto scomparirà

� se è selezionato un oggetto Testo il click su una delle predette voci delmenu Testo rappresenta una scelta locale o, per meglio dire, relativa alsolo testo selezionato; le scelte globali rimangono immutate.

+ NotaLa finestra di dialogo non rilevaautomaticamente il font del testocorrentemente selezionato, mapermette solo di definirlo partendo daun font di default.

Icona Testo

Versione 1.2

Capitolo 1 - Oggetti8

? Solo le voci del menu Testo:• Normal• Grassettosono mutuamente esclusive.

DimensioneOltreché attraverso la finestra di dialogo dei font, la dimensione èassegnabile direttamente dalle voci del menu Testo:� Aumenta Font� Riduci Fonto tramite i tasti acceleratori� <CTRL><+>� <CTRL><->.L’aumento o la riduzione della dimensione avviene progressivamente adogni click (o pressione contemporanea dei tasti indicati); ovviamente saràprima necessario selezionare l’oggetto Testo da modificare.

ColoreDelle tre palette che compaiono nella finestra di dialogo, che permette lascelta dei colori, interessa quella relativa al colore del testo (si vedal’indicazione sopra alle palettes). La selezione di un colore avvienemediante i seguenti passi:� selezione dell’oggetto Testo� selezione della voce del menu Colori� un click del mouse sul colore della palette (relativa al testo) che si

vuole far assumere all’oggetto Testo� un click del mouse sul bottone Oggetto affinché la scelta del colore

riguardi l’oggetto selezionato.

Modifica del testoPer modificare un testo esistente eseguire le seguenti operazioni:� selezionare l’oggetto Testo� fare un click sul tasto destro del mouse� appare un campo di editor con il testo selezionato.

Se s’intende modificare il testo integralmente è sufficiente scrivere ilnuovo testo, in quanto alla pressione di un tasto alfanumerico della tastierail testo selezionato scompare ed appare il carattere premuto; se s’intendeaggiungere una parte di testo in coda a quello presente è necessariodeselezionare il testo presente, per esempio, tramite la pressione di untasto cursore od un click del mouse sul campo di editor; concludere con<INVIO> o rinunciare all’operazione premendo il tasto <ESC>.

Manuale di WMOVIE

Capitolo 1 - Oggetti 9

Esempio: costruzione di testi particolariOltre agli stili presenti è possibile creare un testo i cui caratteri sembranopossedere anche una terza dimensione.

Il risultato è legato alla capacità dell’utente ma è quasi sempreapprezzabile; nel caso di titoli o etichette principali è molto facile creareun effetto piacevole.Spesso può essere utile racchiudere in un oggetto cella il testo originale eil testo dell’effetto creato, in modo che la coppia diventi effettivamente unoggetto unico, ovvero un testo con un nuovo stile personale.Si eseguano le seguenti operazioni:� si crei un testo� si duplichi il testo creato (per esempio selezionandolo e premendo il

tasto della tastiera <INS>)� si posizioni il testo copia in una posizione molto vicina al testo

originale� si modifichi l’attributo del colore del testo copia.

? Gli ultimi due punti possono anche essere invertiti nell’ordine inquanto è più agevole selezionare un testo, e modificarne gli attributi,quando è distinto da altri testi vicini.

Versione 1.2

Capitolo 1 - Oggetti10

Oggetti particolari

Le bitmap in WMOVIEWMOVIE gestisce la modalità raster per il formato BMP, standard perl'ambiente Windows. In un oggetto bitmap di WMOVIE vienememorizzato un riferimento ad un file con estensione BMP. La creazionedelle immagini e la loro memorizzazione deve essere effettuata con unapposito programma grafico (si può semplicemente utilizzare il PaintBrushfornito con Windows).Quindi un oggetto bitmap non è un file bitmap, ma ne contiene solo unriferimento. Un file di descrizione di una finestra WMOVIE, nel caso chenella finestra compaiano degli oggetti bitmap, dovrà essere accompagnatodai relativi file bitmap.

Creazione di un oggetto bitmapPer creare un oggetto bitmap si eseguano le seguenti operazioni:� si faccia un click sull'icona raffigurante un oggetto bitmap, il cursore

assumerà l'aspetto dell'icona� si faccia un click nella posizione, all'interno della finestra, in cui si

intende posizionare l'immagine bitmap� apparirà una finestra di dialogo con l'elenco dei file con estensione

BMP disponibili nella directory di lavoro; effettuare una scelta con unclick sul nome prescelto

� si concluda con OK.L'immagine bitmap comparirà sulla finestra.

Operazioni possibiliLe operazioni possibili su di un oggetto bitmap sono le seguenti:� spostamento dell'oggetto bitmap sulla finestra� modifica delle dimensioni nelle direzioni orizzontale-destra e

verticale-bassa� ripristino delle dimensioni originarie di un oggetto bitmap tramite un

click sulla voce del menu Modifica-Ripristina Bitmap� duplicazione di un oggetto bitmap tramite la voce del menu Modifica-

Duplica.

Immagine ombraUn’immagine bitmap ha solitamente un profilo rettangolare; per fare inmodo che il profilo non sia tale, ma bensì quello più realisticodell'immagine raffigurata nel rettangolo, si deve provvedere allacostruzione di una cosiddetta immagine ombra.L'immagine che interessa dovrà essere costruita con uno sfondo nero.L'immagine ombra non è altro che un file bitmap raffigurante la stessaimmagine con colore nero su sfondo bianco. Il nome dell'immagine ombradeve essere lo stesso dell'immagine originaria con la differenza di uncarattere “_” terminatore, per esempio “ATOM.BMP” e “ATOM_.BMP”.Questo fatto limita a 7 il numero massimo di caratteri del nome di un filebitmap di cui si desidera anche l'immagine ombra. Anche il filedell'immagine ombra dovrà essere memorizzato nella directory di lavoroed accompagnare tutti i file *.WMV che lo utilizzano.

+ NotaÈ necessario che nella stessadirectory di lavoro, ove vi sono i filesdi descrizione delle finestre(estensione WMV) vi siano anche ifile di tipo bitmap (estensione BMP)a cui si fa riferimento nelle finestreWMOVIE.

+ NotaSe si duplica un oggetto bitmap conle dimensioni modificate rispetto aquelle originarie, il nuovo oggettobitmap assume tali dimensioni comeoriginarie.

Icona Bitmap

Manuale di WMOVIE

Capitolo 2 - Animation Link 11

C A P I T O L O 2C A P I T O L O 2

Animation Link

Versione 1.2

Capitolo 2 - Animation Link12

IntroduzioneWMOVIE è un pacchetto che permette di costruire ed eseguireapplicazioni dedicate alla supervisione di un processo industriale.Per animare i sinottici che rappresentano macchine ed impianti, in modoche siano date in tempo reale le informazioni sulle variazioni in atto nelprocesso, è necessario associare agli oggetti, creati staticamente, delleazioni che li rendano dinamici.Animation Link (AL) è il termine che indica un collegamento di unoggetto ad un'azione di animazione.L'Animation Link permette ad un oggetto di mutare le proprie peculiarità(per esempio colore, grandezza, posizione, ecc.); permette, mediantedialoghi di input, di modificare le condizioni del processo.Ad ogni oggetto, sia esso semplice, composto o complesso è possibilecollegare più di un’azione di animazione ovvero associare uno o piùAnimation Link.Nel seguito va tenuto presente che tutte le informazioni sullo stato di unimpianto, e di conseguenza sulla dinamicità del sinottico, sono contenutein un insieme di variabili (le variabili sono trattate in uno specificocapitolo di questo manuale).

Attivazione di un Animation LinkOgni Animation Link è sensibile alla variazioni di una o più variabili.Quando si associa un AL ad un oggetto si specifica la variabile, o levariabili a seconda dei casi, che dovrà attivare l'azione.Per esempio potremmo desiderare che un oggetto cambi il proprio coloreda rosso a verde quando una variabile vede cambiare il suo valore da0 ad 1. Allo scopo si associa all'oggetto un AL di nome Variazione ColoreRiempimento, indicando su quest'ultimo il nome della variabileinteressata. Al variare del valore di tale variabile l'oggetto che possiedel'AL modificherà il proprio attributo di colore.Allo stesso oggetto possono essere associati ulteriori AL, sensibili allevariazioni di una stessa variabile oppure di altre variabili.Per esempio potremmo voler rappresentare la colonnina di un termometroche modifica la sua altezza ed il suo colore a seconda di una variabile cherappresenta una temperatura. Allo scopo dovremmo associare all'oggettosia un AL-Variazione Colore Riempimento che un AL-VariazioneDimensioni, entrambi sensibili alle variazioni di una stessa variabile“TEMPERATURA”.WMOVIE mantiene in memoria la lista degli oggetti legati a specifichevariabili per ogni finestra (anche detta pagina) nonché la lista dellefinestre interessate alle variabili.Quando dal campo perviene una variazione su di una variabile, vengonogenerati una serie di messaggi al fine di attivare tutti gli Animation Linkassociati a tale variabile, sugli oggetti di ogni finestra. Ogni oggetto sacome modificare il proprio aspetto in seguito alla variazione subita.

Animation Link associabili ad un oggettoCome già visto numerose volte la lista degli AL associabili ad un oggettosi ottiene semplicemente con un doppio click sull'oggetto stesso.Compare un sottomenu con alcune voci in grigio (non selezionabili) edaltre in neretto (selezionabili). Quest'ultime indicano i nomi degli AL chel'oggetto può avere.I nomi degli AL sono indicativi sull'effetto dell’AL e difficilmentepossono nascere equivoci sul significato. Dopo una prima lettura delmanuale, comunque, ogni dubbio dovrebbe essere risolto.

Elenco degli Animation LinkDi seguito si fornisce una descrizione di ogni AL e, per ognuno, l'elencodegli oggetti che lo ammettono (si veda in Appendice la tabella Oggetti -Animation Link).Ogni AL ha dei sottocasi che sono rappresentati dalle voci dei sottomenudi ogni voce del menu AL.

Manuale di WMOVIE

Capitolo 2 - Animation Link 13

Elenco AL e relativi sottomenu

AL-Input

DescrizioneAssociare ad un oggetto un AL-Input permette di dotare l'oggetto di undialogo di input e quindi di permettere nel Run-Time l'assegnazione di unvalore ad una variabile.

SottomenuLa scelta prevede due casi:� Discreto� Analogico.

Input-Discreto

Il caso discreto si presenta con un dialogo (una finestra intermediapermette di scegliere una variabile o di avviare la procedura per definirneuna nuova) che chiede di specificare cinque campi e precisamente:� Nome Variabile: il nome della variabile il cui valore verrà modificato� Bit N: l’indice del bit nella variabile il cui valore verrà modificato

(l’indice inizia con 0)� Titolo : titolo della finestrella di dialogo che comparirà nel Run-Time

al click sull'oggetto che possiede questo AL� Testo per ON: l'etichetta del bottone la cui pressione pone ad 1 il

valore del bit della variabile� Testo per OFF: l'etichetta del bottone la cui pressione pone a 0 il

valore del bit della variabile.Nel Run-Time, al click sull'oggetto in questione, si aprirà una finestra didialogo con due bottoni che permetteranno all’utente di scegliere il valoreda dare alla variabile.

Input-AnalogicoLa scelta Input-Analogico ha un sottomenu che prevede due casi:� Semplificato� Completo.

Input-Analogico-Semplificato

Il caso Input-Analogico-Semplificato si presenta con un dialogo chechiede di specificare solo un nome di variabile (la finestra intermediapermette di scegliere una variabile o di avviare la procedura per definirneuna nuova).Nel Run-Time, al click sull'oggetto in questione, si aprirà unasemplicissima finestra di dialogo con un solo campo su cui digitare ilvalore che s'intende far assumere alla variabile.

Versione 1.2

Capitolo 2 - Animation Link14

Input-Analogico-Completo

Il caso Input-Analogico-Completo si presenta con un dialogo (una finestraintermedia permette di scegliere una variabile o di avviare la proceduraper definirne una nuova) che chiede di specificare quattro campi eprecisamente:� Nome Variabile: il nome della variabile di cui si modificherà il valore

in Run-Time� Titolo : titolo della finestrella di dialogo che comparirà nel Run-Time

al click sull'oggetto che possiede questo AL� Min : indicazione del valore minimo accettabile� Max: indicazione del valore massimo accettabile.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Testo, Bitmap.

Manuale di WMOVIE

Capitolo 2 - Animation Link 15

AL-Cursore

DescrizioneAssociare ad un oggetto un AL-Cursore permette di dotare l'oggetto di undialogo di input con un cursore, nel tipico stile dei cursori Windows, edun quadrante e quindi di permettere nel Run-Time l'assegnazione di unvalore ad una variabile.

SottomenuLa scelta prevede due casi:� Verticale� Orizzontale.

Cursore-Verticale

Il caso AL-Cursore-Verticale si presenta con un dialogo (una finestraintermedia permette di scegliere una variabile o di avviare la proceduraper definirne una nuova) che chiede di specificare tre campi eprecisamente:� Nome Variabile: il nome della variabile di cui si modificherà il valore

in Run-Time� Valore Min : indicazione del valore minimo (cursore in posizione

estrema minima)� Valore Max: indicazione del valore massimo (cursore in posizione

estrema massima).

Cursore-OrizzontaleSi veda il caso verticale per quanto riguarda la finestra di dialogo nelTOOLKIT.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Testo, Bitmap.

Versione 1.2

Capitolo 2 - Animation Link16

AL-Pulsante

DescrizioneAssociare ad un oggetto un AL-Pulsante permette di dotare l'oggetto diun'azione che si attiva ad ogni click sull'oggetto stesso, che assume quindiun comportamento simile a quello di un bottone.

Sottomenu

La scelta prevede cinque casi:� Valore Discreto� Azione� Mostra Finestra� Nascondi Finestra� Distruggi Finestra.

Pulsante-Valore DiscretoPossiede un sottomenu la cui scelta prevede tre casi:� Set� Reset� Toggle.

Pulsante-Valore Discreto-Set

Il caso Pulsante-Valore Discreto-Set permette di implementare l'istruzioneSETVAR(NomeVar) [equivalente a “NomeVar=1”] semplicementeindicando il nome della variabile.La selezione di questa voce del menu fa apparire dapprima la solitafinestra di dialogo intermedia che permette di scegliere una variabile (o diavviare la procedura per definirne una nuova), quindi la finestra di dialogoche non permette modifiche ma visualizza solo l'effetto della sceltaeffettuata.L'effetto in Run-Time è ovviamente quello di assegnare il valore 1 allavariabile indicata.

Pulsante-Valore Discreto-Reset

Il caso Pulsante-Valore Discreto-Reset permette di implementarel'istruzione RESETVAR(NomeVar) [equivalente a “NomeVar=0”]semplicemente indicando il nome della variabile.Le finestre di dialogo sono le stesse del caso precedente.L'effetto in Run-Time è ovviamente quello di assegnare il valore 0 allavariabile indicata.

Pulsante-Valore Discreto-Toggle

Il caso Pulsante-Valore Discreto-Toggle permette di implementarel'istruzione NomeVar = (NomeVar BXOR 1) AND 1 semplicementeindicando il nome della variabile.Le finestre di dialogo sono le stesse del caso precedente.

+ NotaNon si confonda l'oggetto Bottonecon un oggetto che possiede un AL-Pulsante.

Manuale di WMOVIE

Capitolo 2 - Animation Link 17

L'effetto in Run-Time è ovviamente quello di cambiare il valore dellavariabile indicata da 0 ad 1 oppure da 1 a 0 provocando l'effetto noto conil nome di “Toggle”.

Pulsante-AzioneIl caso Pulsante-Azione permette di implementare una o più istruzioni. Perla sintassi si rimanda all'appendice. Nella finestra di dialogo è presente unbottone di aiuto. Un click su tale bottone permette di avere un richiamosulle regole sintattiche (si veda l'apposita sezione del manuale).

Pulsante-Mostra FinestraIl caso Pulsante-Mostra Finestra permette di implementare l'istruzioneSHOW("NomeFile") semplicemente indicando il nome del file.La selezione di questa voce del menu fa apparire dapprima una finestra didialogo intermedia che permette di scegliere il nome di un file (tra quellicon estensione WMV nella directory di lavoro), quindi una finestra didialogo che non permette modifiche ma visualizza solo l'effetto dellascelta effettuata.L'effetto in Run-Time è quello di visualizzare la finestra indicatanell'espressione immediatamente dopo il click sull'oggetto.Possono verificarsi tre casi:� se la finestra è già presente sullo schermo viene portata in primo piano� se la finestra era stata nascosta per effetto di un Nascondi-Finestra

verrà riaperta e portata in primo piano� se la finestra non è presente sullo schermo e nemmeno nascosta, viene

creata caricando ed interpretando il relativo file WMV dal disco evisualizzata in primo piano.

Pulsante-Nascondi FinestraIl caso Pulsante-Nascondi Finestra permette di implementare l'istruzioneHIDE("NomeFile") semplicemente indicando il nome del file.Le finestre di dialogo sono le stesse del caso precedente.L'effetto in Run-Time è quello di nascondere la finestra indicatanell'espressione immediatamente dopo il click sull'oggetto.

Pulsante-Distruggi FinestraIl caso Pulsante-Distruggi Finestra permette di implementare l'istruzioneDELETE ("NomeFile") semplicemente indicando il nome del file.Le finestre di dialogo sono le stesse del caso precedente.L'effetto in Run-Time è quello di distruggere la finestra indicatanell'espressione immediatamente dopo il click sull'oggetto.

Differenze tra Nascondi Finestra e Distruggi FinestraLa differenza è fondamentale ed è molto importante tenerne conto.

? Nascondi Finestra nasconde la visualizzazione della finestra, ovverola toglie dallo schermo ma la mantiene attiva. Ciò implica cheeventuali oggetti animati presenti nella finestra risulterannoaggiornati ad una successiva riapertura della finestra; ovvero lafinestra ha continuato ad aggiornare il suo stato anche se non lo havisualizzato in quanto nascosta.

? Distruggi Finestra distrugge la finestra, ovvero la toglie sia dalloschermo che dalla memoria RAM (ovviamente non distrugge ilrelativo file WMV su disco). Ciò implica che ad una successivariapertura della finestra un eventuale riquadro presente avrà perso ivalori assunti dalle variabili e riparte dai valori correnti.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Testo, Bitmap.

Versione 1.2

Capitolo 2 - Animation Link18

AL-Variazione Colore Penna

DescrizioneAssociare ad un oggetto un AL-Variazione Colore Penna permette didotare l'oggetto della capacità di modificare il colore del proprio bordo inseguito alla variazione di una espressione. Ovviamente per l’oggetto Lineail colore del bordo coincide con il colore dell’oggetto.

SottomenuLa scelta prevede due casi:� Discreto� Analogico.

Variazione Colore Penna-Discreto

Il caso Variazione Colore Penna-Discreto si presenta con una finestra didialogo avente un campo e due bottoni, precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà il colore

assunto dal bordo dell'oggetto� Colore OFF: un click su questo bottone aprirà una finestrella con una

palette di colori; tramite un click sul colore prescelto (che apparirà allabase della palette) e un click su OK, si sarà deciso il colore che ilbordo dell'oggetto assumerà quando l'espressione ha un valore minoreo uguale a 0

� Colore ON: un click su questo bottone aprirà una finestrella con unapalette di colori; tramite un click sul colore prescelto (che apparirà allabase della palette) e un click su OK, si sarà deciso il colore che ilbordo dell'oggetto assumerà quando l'espressione ha un valoremaggiore di 0.

? Nel Run-Time il colore del bordo dell'oggetto si modificherà comeprevisto al variare della variabile specificata.

Manuale di WMOVIE

Capitolo 2 - Animation Link 19

Variazione Colore Penna-Analogico

Il caso Variazione Colore Penna-Analogico si presenta con una finestra didialogo avente cinque campi e cinque bottoni, precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà il colore

assunto dal bordo dell'oggetto� Colore1: un click su questo bottone aprirà una finestrella con una

palette di colori; tramite un click sul colore prescelto (che apparirà allabase della palette) e un click su OK, si sarà deciso il colore che ilbordo dell'oggetto assumerà quando l'espressione ha un valore minoreal Limite1

� Colore2: permette la scelta del colore assunto dal bordo dell'oggettoquando l'espressione assume valori maggiori o uguali al Limite1 e nelcontempo minori del Limite2

� Colore3: permette la scelta del colore assunto dal bordo dell'oggettoquando l'espressione assume valori maggiori o uguali al Limite2 e nelcontempo strettamente minori del Limite3

� Colore4: permette la scelta del colore assunto dal bordo dell'oggettoquando l'espressione assume valori maggiori o uguali al Limite3 e nelcontempo minori del Limite4

� Colore5: permette la scelta del colore assunto dal bordo dell'oggettoquando l'espressione assume valori maggiori o uguali al Limite4

� Limite1 : soglia per il passaggio dal Colore1 al Colore2� Limite2 : soglia per il passaggio dal Colore2 al Colore3� Limite3 : soglia per il passaggio dal Colore3 al Colore4� Limite4 : soglia per il passaggio dal Colore4 al Colore5.Nel Run-Time il colore del bordo dell'oggetto si modificherà comeprevisto al variare dell'espressione specificata.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse.

Versione 1.2

Capitolo 2 - Animation Link20

AL-Variazione Colore Riempimento

DescrizioneAssociare ad un oggetto un AL-Variazione Colore Riempimento permettedi dotare l'oggetto della capacità di modificare il proprio colore diriempimento in seguito alla variazione di una espressione.Nel Run-Time il colore di riempimento dell'oggetto si modificherà comeprevisto, al variare dell'espressione specificata.

SottomenuLa scelta prevede due casi:� Discreto� Analogico.

Variazione Colore Riempimento-DiscretoSi veda AL-Variazione Colore Penna.

Variazione Colore Riempimento-AnalogicoSi veda AL-Variazione Colore Penna.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Rettangolo,Ellisse.

Manuale di WMOVIE

Capitolo 2 - Animation Link 21

AL-Variazione Colore Testo

DescrizioneAssociare ad un oggetto Testo un AL-Variazione Colore Testo permette didotare l'oggetto della capacità di modificare il proprio colore in seguitoalla variazione di una espressione.Nel Run-Time il colore dell'oggetto Testo si modificherà come previsto, alvariare dell'espressione specificata.

? AL-Variazione Colore Testo è associabile ai soli oggetti testo.

SottomenuLa scelta prevede due casi:� Discreto� Analogico.

Variazione Colore Testo-DiscretoSi veda AL-Variazione Colore Penna.

Variazione Colore Testo-AnalogicoSi veda AL-Variazione Colore Penna.

Oggetti che lo supportanoL’unico oggetto che può avere questo AL è l’oggetto Testo.

Versione 1.2

Capitolo 2 - Animation Link22

AL-Output

DescrizioneAssociare ad un oggetto Testo un AL-Output permette di dotare l'oggettodella capacità di modificare i propri caratteri “#” in seguito alla variazionedi una espressione.Se si intende utilizzare questo AL si deve rispettare un formato perl'oggetto Testo (unico oggetto a cui questo AL può essere associato).Nel Run-Time i caratteri “#” dell'oggetto Testo si modificheranno comeprevisto, al variare dell'espressione specificata.

FormatoIl formato per un oggetto Testo che usa un AL-Output è il seguente:“testotestotesto ####”dove� “testotestotesto ####” può avere un lunghezza complessiva massima

di 127 caratteri� “testotestotesto” è una stringa di testo qualsiasi (sono vietati caratteri

“#”)� “####” è una stringa di caratteri speciali che in Run-Time verranno

sostituiti da valori come indicato nell'espressione dell’AL-Output.

? La stringa di caratteri speciali può solo seguire la stringa di testo,ovvero nessuna stringa di testo può seguire quella dei caratterispeciali (se accade non verrà visualizzata).

Per la visualizzazione di una stringa derivante dall’AL-Output-Discreto (siveda il paragrafo relativo) valgono le seguenti regole:� ogni carattere speciale “#” verrà sostituito da un solo carattere della

stringa da visualizzare. Se la stringa é più lunga del numero dicaratteri speciale “#”, verrà troncata

� per visualizzare due stringhe di lunghezza diversa (Testo per ON,Testo per OFF) si preveda un numero di caratteri speciali “#” pari allalunghezza della stringa più lunga (per esempio per visualizzare le duestringhe “AVVIARE”, “SPEGNERE” servono 8 caratteri speciali “#”,ovvero quelli che servono per visualizzare la più lunga delle duestringhe).

Per la visualizzazione di un valore derivante dall’AL-Output-Analogico(si veda il paragrafo relativo) valgono le seguenti regole:� per la visualizzazione di valori numerici è sufficiente prevedere un

solo carattere speciale “#”. È anche possibile scrivere “###”; in talcaso le cifre numeriche saranno allineate a sinistra. Le cifre numerichenon decimali non verranno mai troncate, quindi aggiungere più di uncarattere speciale non ha alcun effetto (è solo un aiuto nel TOOLKITper avere un’idea dello spazio che la cifra completa potrà occuparesullo schermo)

� per variabili di tipo Float il formato dei caratteri speciali puòprevedere anche le cifre dopo la virgola “#.##” dove i caratteri “#”dopo il punto (N.B. un punto e non una virgola) rappresentano ilnumero massimo di cifre decimali visualizzabili (nell'esempio paria due). In assenza di valori numerici decimali verrà visualizzato uno“0” per ogni carattere speciale che segue il punto.

SottomenuLa scelta prevede due casi:� Discreto� Analogico.

Manuale di WMOVIE

Capitolo 2 - Animation Link 23

Output-Discreto

Il caso Output-Discreto si presenta con una finestra di dialogo avente trecampi testo e precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà la

visualizzazione della stringa “Testo per ON” (con valore 1) e dellastringa “Testo per OFF” (con valore 0)

� Testo per ON: scrivere il nome della stringa che verrà visualizzata,secondo le regole già descritte, quando l'espressione assume valorediverso da 0

� Testo per OFF: scrivere il nome della stringa che verrà visualizzata,secondo le regole già descritte, quando l'espressione assume valorepari a 0.

Output-AnalogicoIl caso Output-Analogico si presenta con una finestra di dialogo avente unsolo campo testo su cui scrivere l'espressione di cui s'intende visualizzareil valore, secondo le regole già descritte.

Oggetti che lo supportanoL’unico oggetto che può avere questo AL è l’oggetto Testo.

Versione 1.2

Capitolo 2 - Animation Link24

AL-Variazione Posizione

DescrizioneAssociare ad un oggetto un AL-Variazione Posizione permette di dotarel'oggetto della capacità di movimento sullo schermo (all'interno dellapropria finestra di appartenenza) in seguito alla variazione di una o dueespressioni.Nel Run-Time la posizione dell'oggetto si modificherà come previsto, alvariare delle espressioni specificate.

Sistema di coordinateIl sistema di coordinate adottato prevede lo zero sulla posizionedell'oggetto, i valori saranno positivi a destra e in alto, negativi a sinistra ein basso, rispetto la posizione in cui l'oggetto è disegnato.

SottomenuLa scelta prevede due casi:� Verticale� Orizzontale.

Variazione Posizione-Verticale

Il caso Variazione Posizione-Verticale si presenta con una finestra didialogo avente cinque campi testo e precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà lo

spostamento dell'oggetto all'interno della propria finestra diappartenenza

� Min Valore Posizione: scrivere il valore che dovrà assumerel'espressione in corrispondenza della posizione iniziale dellospostamento verticale sulla finestra

� Max Valore Posizione: scrivere il valore che dovrà assumerel'espressione in corrispondenza della posizione finale dellospostamento verticale sulla finestra

� Posizione per Min: scrivere la quota in pixel (punti dello schermo) acui corrisponde la posizione iniziale, dello spostamento verticale,relativamente alla posizione dell'oggetto

� Posizione per Max: scrivere la quota in pixel (punti dello schermo) acui corrisponde la posizione finale, dello spostamento verticale,relativamente alla posizione dell'oggetto.

+ NotaÈ possibile l'associazione di AL-Variazione Posizione-Orizzontale eVerticale contemporanei cosicchél'oggetto possa spostarsi anche indirezioni diagonali.

+ Nota1. Possono essere utilizzate anche

quote negative per far partirel'oggetto da una posizione che siaalla sinistra e/o in basso, rispettoalla posizione in cui l'oggetto èdisegnato.

2. Deve sempre essere Min ValorePosizione < Max ValorePosizione.

Manuale di WMOVIE

Capitolo 2 - Animation Link 25

Variazione Posizione-OrizzontaleValgono le stesse considerazioni fatte per il caso verticale con l'unicadifferenza che lo spostamento avviene in direzione orizzontale.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Bitmap.

Versione 1.2

Capitolo 2 - Animation Link26

AL-Variazione Dimensioni

DescrizioneAssociare ad un oggetto un AL-Variazione Dimensioni permette di dotarel'oggetto della capacità di modificare le proprie dimensioni in seguito allavariazione di una o due espressioni.Nel Run-Time la dimensione dell'oggetto si modificherà come previsto,al variare delle espressioni specificate.

Sistema di coordinateIl sistema di coordinate adottato prevede che:� l'oggetto si trovi al momento della creazione in una dimensione del

100%� rispetto tale situazione può modificarsi sia in altezza sia in larghezza

di XXX% rispetto la dimensione originaria 100� se s'intende renderlo più piccolo si devono utilizzare percentuali

minori del 100% iniziale; se s'intende renderlo più grande si devonoutilizzare percentuali maggiori del 100% iniziale

� per ridimensionamenti verso destra e/o verso l'alto si devono, perconvenzione, usare percentuali positive

� per ridimensionamenti verso sinistra e/o verso il basso si devono, perconvenzione, usare percentuali negative

� si veda la figura per capire come cambiano le posizioni di 0% quandosi procede verso sinistra e/o verso il basso.

SottomenuLa scelta prevede due casi:� Altezza� Larghezza.

Variazione Dimensioni-Altezza

Il caso Variazione Dimensioni-Altezza si presenta con una finestra didialogo avente cinque campi testo e precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà il

dimensionamento dell'oggetto� Min Valore Dimensione: scrivere il valore che dovrà assumere

l'espressione in corrispondenza della dimensione minima prevista� Max Valore Dimensione: scrivere il valore che dovrà assumere

l'espressione in corrispondenza della dimensione massima prevista� Min % Dimensione: scrivere la dimensione minima che l'oggetto

dovrà assumere, in percentuale di quella originaria, (secondo leconvenzioni precedentemente descritte)

� Max % Dimensione: scrivere la dimensione massima in percentualedi quella originaria, secondo le convenzioni precedentementedescritte.

Variazione Dimensioni-Larghezza

+ NotaÈ possibile l'associazione diAL-Variazione Dimensioni-Altezzae AL-Variazione Dimensioni-Larghezza contemporanei cosicchél'oggetto possa modificarsicompletamente (sia in altezza che inlarghezza).

Manuale di WMOVIE

Capitolo 2 - Animation Link 27

Valgono le stesse considerazioni fatte per il caso altezza con l'unicadifferenza che il dimensionamento avviene in larghezza.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Bitmap.

Versione 1.2

Capitolo 2 - Animation Link28

AL-Riempimento Percentuale

DescrizioneAssociare ad un oggetto un AL-Riempimento Percentuale permetteall’oggetto di modificare il proprio colore di riempimento con un valoreespresso in percentuale, in seguito alla variazione di una espressione.Nel Run-Time il colore di riempimento dell'oggetto si modificherà comeprevisto, al variare dell'espressione specificata.

SottomenuLa scelta prevede due casi:� Verticale� Orizzontale.

Riempimento Percentuale-Verticale

Il caso Riempimento Percentuale-Verticale si presenta con una finestra didialogo avente cinque campi testo, un bottone e precisamente:� Espressione: scrivere l'espressione dal cui valore dipenderà il

riempimento percentuale dell'oggetto� Min Valore Riempimento: scrivere il valore che dovrà assumere

l'espressione in corrispondenza della percentuale minima diriempimento

� Max Valore Riempimento: scrivere il valore che dovrà assumerel'espressione in corrispondenza della percentuale massima diriempimento

� Min % Riempimento : scrivere il valore che dovrà assumere lapercentuale di riempimento in corrispondenza del valore minimosopra specificato (0 - 100%)

� Max % Riempimento: scrivere il valore che dovrà assumere lapercentuale di riempimento in corrispondenza del valore massimosopra specificato (0 - 100%)

� Bk_color: specifica il colore dello sfondo dell'oggetto; il colore diriempimento è il colore dato all'oggetto durante la sua creazione.

Riempimento Percentuale-OrizzontaleIl caso Riempimento Percentuale-Orizzontale è analogo al RiempimentoPercentuale-Verticale con la differenza che il riempimento avviene indirezione orizzontale.

Oggetti che lo supportanoL’oggetto che può avere questo AL è il Rettangolo.

AL-Variazione Visibilità

Descrizione

Manuale di WMOVIE

Capitolo 2 - Animation Link 29

Associare ad un oggetto un AL-Variazione Visibilità permette di dotarel'oggetto della capacità di rendersi visibile o invisibile, in seguito al valoreassunto da una espressione.Nel Run-Time l'oggetto risulterà visibile o invisibile come previsto, alvariare dell'espressione specificata.

Associazione di un AL-Variazione VisibilitàPer associare un AL-Variazione Visibilità ad un oggetto seguire i seguentipassi:� doppio click sull'oggetto interessato� selezione della voce del menu Variazione Visibilità� compare una finestra di dialogo su cui specificare l'espressione� concludere con OK.

FunzionamentoQuando l'espressione specificata vale 0 l'oggetto è invisibile, altrimentil'oggetto risulta visibile.

Oggetti che lo supportanoGli oggetti che possono avere questo AL sono i seguenti: Linea,Rettangolo, Ellisse, Testo, Bitmap.

Versione 1.2

Capitolo 2 - Animation Link30

Questa pagina è stata lasciata intenzionalmente vuota.

Manuale di WMOVIE

Capitolo 3 - Realizzazione di una applicazione31

C A P I T O L O 3C A P I T O L O 3

Realizzazione di una applicazione

Versione 1.2

Capitolo 3 - Realizzazione di una applicazione32

Creazione di una finestra mediante il ToolkitLa prima operazione da eseguire è la creazione di una finestra su cuicostruire gli oggetti; selezionando la voce del menu File-Nuova Finestra, otramite la simultanea pressione dei tasti <CTRL><N>, verrà visualizzatasullo schermo una finestra di dialogo su cui si dovrà indicare il nome dellafinestra che ci si appresta a creare.Sul significato degli altri campi presenti si veda il successivo paragrafo.Solo l'indicazione del nome è obbligatoria, gli altri campi assumono unvalore predefinito. Si scriva per esempio “ESEMPIO”.Dopo la pressione del tasto <INVIO>, o mediante un click del mouse sulpulsante OK, verrà visualizzata la nuova finestra.

Opzioni di finestra

I campi della finestra di dialogo che appaiono alla creazione di una nuovafinestra hanno il seguente significato:� Titolo : questo campo è dedicato all'indicazione del nome della

finestra che ci si appresta a creare; tale nome sarà visualizzato sullabarra del titolo ed è rappresentativo per la finestra. Non è possibileaprire contemporaneamente due finestre aventi lo stesso nome.L'indicazione è obbligatoria

� File: questo campo è di sola lettura, quindi non è possibile apportarvimodifiche. Dopo il primo salvataggio che si farà della finestra, quiapparirà il nome completo del file su cui è stata salvata la finestra

� Ingombro: questi campi, in cui non è necessario scrivere, indicano lequote delle dimensioni della finestra e precisamente:• coordinata x dell'angolo alto sinistro della finestra• coordinata y dell'angolo alto sinistro della finestra• larghezza della finestra• altezza della finestra.Le quote sono espresse in pixel (punti dello schermo) ed hanno comeriferimento un sistema di coordinate che vede lo zero in posizione inalto a sinistra nello schermo e procede verso il basso (y) e versodestra (x)

� Flag Barra Titolo : una croce su questo quadratino indica che siintende avere una finestra in cui sia visibile la barra del titolo; il titolodella finestra esiste (ed è obbligatorio) anche se si sceglie di nonrenderlo visibile

� Flag Modifica Dimensioni: una croce su questo quadratino indica chesi desidera avere una finestra in cui sia possibile modificare ledimensioni trascinando il bordo con il mouse (nel classico modo dellefinestre Windows)

Manuale di WMOVIE

Capitolo 3 - Realizzazione di una applicazione33

� Flag Controlli : una croce su questo quadratino indica che si desideraavere una finestra in cui sia possibile la riduzione della stessa ad iconao la sua espansione alla massima dimensione, mediante i classicibottoncini collocati sull'angolo alto-destro della finestra, alla destradella barra del titolo

� Flag Menu Control: una croce su questo quadratino indica che sidesidera avere una finestra in cui vi sia un menu richiamabiledall'angolo in alto a sinistra della finestra, mediante il classicobottoncino con il segno “-”, alla sinistra della barra del titolo.Di questo menu non è utilizzabile la voce che solitamente permette lachiusura della finestra, in quanto, nel TOOLKIT e nel Run-Time, ènecessario utilizzare la voce del menu di WMOVIE in un caso e unapposito comando nell'altro

� Flag Bordo: permette di scegliere il tipo di bordo che si desideraavere per la finestra tra:• nessuno• singolo• doppiocon qualche evidente controindicazione per gli altri flags sopra citati(per esempio con il flag del bordo su “nessuno” non è possibileselezionare nessuno degli altri flags)

� Bottone Colore Sfondo: permette di scegliere il colore dello sfondoper la finestra che ci si appresta a creare.

Salvataggio della finestraÈ in ogni momento possibile salvare la finestra su cui si sta lavorandotramite la voce del menu File-Salva Finestra, o tramite la simultaneapressione dei tasti <CTRL><S>; la prima volta che si effettua questaoperazione verrà visualizzata una finestra di dialogo che chiederà diindicare il nome del file su cui s'intende salvare la finestra (ovvero tutte leinformazioni ad essa associate, che permetteranno di memorizzarla suldisco rigido e quindi non perderla definitivamente alla chiusura delTOOLKIT).Com'è noto i files nel sistema operativo DOS sono specificati da un nomedi al massimo 8 caratteri e da un'estensione di al massimo 3 caratteri.WMOVIE ha assunto, per i files descriventi le sue finestre, la convenzionedi avere l'estensione WMV. Sarà quindi necessario che l'utente specifichiun nome con tale estensione, per esempio “ESEMP1.WMV”, nell'appositocampo della finestra di dialogo, e concluda la procedura con il solito clicksul pulsante OK.

Significato della finestra iniziale e sua assegnazioneIl Run-Time è un programma esterno che, benché sia attivabiledall'interno del TOOLKIT, ha una vita propria.È dunque necessario comunicare al Run-Time qualsiasi decisione presanel TOOLKIT. La maggior parte della informazioni sono acquisite inmodo automatico, altre vanno indicate appositamente.L'indicazione di quale finestra debba essere quella iniziale è necessariofornirla tramite la voce del menu Speciale-Finestra Iniziale.Apparirà una finestra di dialogo che domanda se s'intende modificare lafinestra iniziale che sarà caricata dal Run-Time, si risponda ovviamente“SI” e si specifichi, nella successiva finestra di dialogo, il nome del file sucui si è salvata la finestra che si vuole far apparire per prima.

Comandi di apertura di successive finestreSolitamente le finestre che interessa visualizzare nel Run-Time sono piùd'una. È consigliabile, dunque, avere una prima finestra che svolga lafunzione di un “pannello” da cui sia possibile richiamare tutte le altrefinestre, oppure organizzare su ogni finestra degli strumenti di apertura dialtre finestre.Per aprire una finestra è necessario usare il comando:SHOW("NomeFile.wmv").Tipicamente si costruisce un oggetto Bottone a cui viene associato ilcomando di apertura di una finestra. Si può anche usare un oggettoqualsiasi associandogli un Animation Link-Pulsante-Mostra Finestra.

Versione 1.2

Capitolo 3 - Realizzazione di una applicazione34

Comandi di chiusura delle finestrePer chiudere le finestre aperte solitamente si utilizzano oggetti Bottone(anche sulla stessa finestra che si vuole chiudere).Vi sono due possibilità di chiusura di una finestra:1. nascondere una finestra mantenendola attiva, con il comando

HIDE("NomeFile.wmv")2. chiudere una finestra in modo definitivo, con il comando

DELETE("NomeFile.wmv").Si può anche usare un oggetto qualsiasi associandogli un Animation Link-Pulsante-Nascondi Finestra per il caso 1 e Pulsante-Distruggi Finestra peril caso 2.

Esempio di creazione di una finestra iniziale chene richiama un'altra a programma

Si realizzino tre finestre salvandole in tre files denominati:� QUADRO.WMV� TRIANG.WMV� CERCHIO.WMV.Si realizzi poi una finestra con tre oggetti Bottone.Ai tre oggetti Bottone si associno i comandi:SHOW("Quadro.wmv")SHOW("Triang.wmv")SHOW("Cerchio.wmv").

Manuale di WMOVIE

Capitolo 4 - Elenco dei files trattati e creati dal Toolkit35

C A P I T O L O 4C A P I T O L O 4

Elenco dei files trattati e creati dalToolkit

Versione 1.2

Capitolo 4 - Elenco dei files trattati e creati dal Toolkit36

Sia il TOOLKIT che il Run-Time vengono lanciati in esecuzione con unparametro che indica la directory di lavoro, per esempio “WMOVIEC:\LAV”. La directory di lavoro è la directory in cui vi sono tutti i filesche interessano all'applicazione (se non specificata all'esecuzione vieneassunta come directory di lavoro quella corrente).I files presenti sono tutti trasparenti all'utente e l'utente può ancheignorarne l'esistenza.

File di descrizione della finestra (*.WMV)Contiene l'elenco di tutti gli oggetti presenti in una finestra. Per ognuno viè una descrizione formale completa; per un rettangolo, per esempio, visarà:WMRectangle Begin x1 204 y1 172 x2 54 y2 47 pen_size 1 pen_color 0,0,0 fill_color 255,255,0 fill_direction 1 pen_style 6 End

? Si sconsiglia fortemente di modificare direttamente questi files;qualsiasi variazione è facilmente attuabile mediante il TOOLKIT.

File: WmlogicContiene l'elenco delle istruzioni del programma redatto con l'EditorLogic del TOOLKIT; queste istruzioni vengono interpretate ciclicamentead ogni N ms, dove N è un numero indicato sulla prima riga del file.

File: WmconfigContiene tre sole righe:� WMOVIE� Wmdisp� SiLogic (o NoLogic).La prima indica il nome che compare sulla finestra principale del Run-Time; la seconda indica il nome di un file sul quale è indicata la finestra dipartenza; la terza, che può essere “SiLogic” oppure “NoLogic”, indica seil programma Logic contenuto nel file Wmlogic deve essere interpretatoo no.

? La presenza delle tre righe è obbligatoria ed il loro ordine èimmutabile, pena il malfunzionamento del programma.

File: WmdispContiene l'indicazione della finestra partente nella forma:WMScreenFileBegin name_file menu.ftwEndIn questo esempio la finestra partente ha nome “menu.wmv”.

File: WmdbdescContiene la descrizione del database.File: Wmclass.

? NON DEVE ESSERE MODIFICATO PER NESSUN MOTIVO.Contiene la descrizione dettagliata di tutte le classi di oggetti interpretabilidal sistema WMOVIE: TOOLKIT e Run-Time.

Manuale di WMOVIE

Capitolo 5 - Operazioni e regole sintattiche37

C A P I T O L O 5C A P I T O L O 5

Operazioni e regole sintattiche

Versione 1.2

Capitolo 5 - Operazioni e regole sintattiche38

Operazioni e regole sintatticheDiversi Animation Link consentono di eseguire esplicitamente delleoperazioni aritmetiche.

Operazioni aritmetiche

Assegnazione<Variabile> = <Variabile | Costante>

EsempiVar1 = Var2Var1 = 1500

Somma, sottrazione, moltiplicazione, divisione<Variabile> = <Variabile | Costante> + <Variabile | Costante><Variabile> = <Variabile | Costante> - <Variabile | Costante><Variabile> = <Variabile | Costante> * <Variabile | Costante><Variabile> = <Variabile | Costante> / <Variabile | Costante>

EsempiVar1 = 100 + Var2Var8 = Var1 - Var3Var8 = Var1 - 500Var4 = 1000 * Var2Var2 = Var5 / 12Var2 = Var5 / Var2

Operazioni logiche

Set di una variabile<Variabile> = 1SETVAR (Variabile)

EsempiVar2 = 1SETVAR (Var2)

Reset di una variabile<Variabile> = 0RESETVAR (Variabile)

EsempiVar2 = 0

Inversione di una variabile (di tipo bit a bit)BNOT (Variabile)<Variabile> = BNOT (<Variabile | Costante>)A = BNOT B

EsempiVar2 = BNOT (Var4)SeVar4 è uguale a 01001101Ba Var2 viene assegnato il valore 10110010B

And/or/or esclusivo (di tipo bit a bit)<Variabile> = <Variabile | Costante> BAND <Variabile | Costante><Variabile> = <Variabile | Costante> BOR <Variabile | Costante><Variabile> = <Variabile | Costante> BXOR <Variabile | Costante>

Esempi� Per estrarre il bit 0 dalla variabile A ed assegnarla a B:

B = A BAND 1

+ NotaApplicabile a Interi, Long e Float.

+ NotaApplicabile a Interi, Long e Float.

+ NotaApplicabile solo a Interi.

Manuale di WMOVIE

Capitolo 5 - Operazioni e regole sintattiche39

� Per estrarre il bit 4 dalla variabile A ed assegnarla a B:B = A BAND 16

� Per aggiungere il bit 4 alla variabile A ed assegnarla a B:B = A BOR 16

� Per commutare solo il bit 4 della variabile A ed assegnarla a B:B = A BXOR 16

? I bit dallo 0 al 10 sono individuati dalle costanti:0, 1, 2, 3, 4, 5, 6 , 7 , 8 , 9 , 101, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024.I bit dall'11 al 15 sono individuati dalle costanti: 11 , 12 , 13 , 14 , 152048, 4096, 8192, 16384, 32768.

Altre operazioni

Attivazione di una finestraSHOW (NomeFinestra.wmv)

EsempiAttiva la finestra descritta dal file “Miafin.wmv”:SHOW("Miafin.wmv").

Disattivazione di una finestraHIDE (NomeFinestra.wmv)

EsempiDisattiva la visualizzazione della la finestra descritta dal file“Miafin.wmv”:HIDE("Miafin.wmv").

Cancellazione di una finestraDELETE (NomeFinestra.ftw)

EsempiCancella la finestra descritta dal file “Miafin.wmv”:DELETE("Miafin.wmv").

Operazioni logiche del tipo vero-falsoSono operazioni logiche il cui risultato sarà o “VER0” o “FALSO”.Una variabile il cui valore è FALSO vale 0.Una variabile il cui valore è VERO vale -1.

And/or/not (logici)Var = A AND B (vero se A e B sono entrambe vere)Var = A OR B (vero se A o B sono vere)Var = NOT A (vero se A è falso e viceversa).

Condizione semplice (esegue l'Animation Link se vero)NomeVariabile(Se “NomeVariabile” == 0 allora è FALSO, se è diverso da 0 allora èVERO).

A == BA >= BA =< B(Se la condizione è verificata è VERO altrimenti è FALSO).

Condizione complessaIF <operazione> THEN <operazione> ELSE <operazione> ENDIF

Operazioni multipleÈ possibile scrivere più di una operazione in una sola espressione purchéle operazioni siano separate dai caratteri “Blank:Blank”

EsempioA = B : C = C + 1

+ NotaApplicabile solo a Interi.

+ Nota1. ELSE può mancare.2. ENDIF deve essere sempre

presente (altrimenti crash delprogramma).

Versione 1.2

Capitolo 5 - Operazioni e regole sintattiche40

Questa pagina è stata lasciata intenzionalmente vuota.

Manuale di WMOVIE

Capitolo 6 - Wmovie dati 41

C A P I T O L O 6C A P I T O L O 6

WMOVIE dati

Versione 1.2

Capitolo 6 - Wmovie dati42

IntroduzioneLo scopo di WMOVIE è quello di permettere la visualizzazione,archiviazione ed elaborazione di dati mediante una manipolazionesemplice ed intuitiva. Tuttavia un corretto uso di essi non può prescindereda una comprensione minima delle loro caratteristiche intrinseche e delledefinizioni che ad essi possono essere associate.WMOVIE, nella maggior parte dei casi, utilizzerà come fonti primarie deidati apparecchiature dedicate a controllare direttamente i processiproduttivi. Queste di norma trattano solo tipologie di dati molto semplicicome informazioni ad un bit o informazioni relative a sensori analogiciche è possibile racchiudere in Words.Tuttavia poiché su computer è possibile disporre di tipi di dati piùcomplessi e che consentono una maggiore precisione essi sono statiutilizzati al fine di consentire di utilizzarne i vantaggi nell’elaborazioneinterna a WMOVIE.Queste informazioni devono essere determinate, dato per dato, mediantesistema di sviluppo, quando si realizza l'applicazione. Esse vengonoregistrate su un apposito file che il Run-Time leggerà prima di iniziarel'esecuzione per dimensionare la propria base dati e per predisporre leattività da compiere.

Menu datiL'introduzione e la modifica delle proprietà di un dato avviene medianteun menu a cui si accede mediante la voce Dizionario Nomi presente nelMenu Speciale.Ad esso si può anche accedere immediatamente mediante i tastiaccelleratori <CTRL><D>.

In WMOVIE ogni dato è individuato da un Nome e da un'insieme diproprietà.Alcune proprietà sono opzionali, altre come la definizione della precisione(o tipo) del dato, sono invece sempre necessarie.

Lettura di un datoAll'interno del menu, la finestra in alto a sinistra contiene l'elenco deinomi associati ai dati. Essa può essere scorsa operando sul suo cursore.Selezionandone all'interno i nomi vengono automaticamente evidenziatele proprietà di quel dato.

Modifica di un datoDopo essersi posizionati su di un dato (esso appare “oscurato”) si possonointrodurre le variazioni nei campi e quindi memorizzare la variazionepremendo il pulsante OK.

Manuale di WMOVIE

Capitolo 6 - Wmovie dati 43

Inserimento di un nuovo dato (Nome)Posizionarsi con il cursore nel campo di input del Nome e digitare unnuovo nome.Inserire quindi i parametri del dato e premere il pulsante OK.Se non si inserisce alcun parametro, al dato verranno comunque assegnateper default le seguenti proprietà:� Tipo: int (intero)� Origine: interna o esterna.

Campi obbligatori del dato� Nome: è una stringa alfanumerica di max 15 caratteri. Essa verrà

utilizzata in tutti i riferimenti di calcolo e animazione per individuareil dato.

� Tipo di dato: definisce la precisione del dato.� Origine: indica se il dato risiede all'interno o all'esterno (via DDE) di

WMOVIE.

Tipi di dati: considerazioniIl tipo definisce sostanzialmente la precisione con cui si vuole trattare ildato. Istintivamente si tenderebbe ad optare per la precisione massima pertutti i dati, è invece consigliabile sceglierla in base alle operazioni che sivogliono compiere su di essi e cercare di scegliere quella più semplice,ove possibile, per minimizzare i tempi di elaborazione.

Tipo InteroPermette di rappresentare cifre con segno da -32768 a +32767.Poiché non esiste un tipo di dato che permetta esplicitamente larappresentazione delle informazioni ad 1 bit si può adoperare il tipoIntero: ad esso verrà assegnato il valore 0 per rappresentare la condizionedi OFF o di Falso e il valore 1 per ON o Vero. Questi sono anche i valoririspettati nello scambio di dati ad 1 bit utilizzando i drivers.Questo tipo non ammette la virgola, se essa viene quindi usata in unodegli altri parametri, i valori immessi durante l'utilizzo vengono troncatialla parte intera. Ad esempio un valore di 2.35 verrà utilizzato come sefosse stato digitato 2.Nell'utilizzo degli interi è bene fare attenzione ai calcoli che si opererannoesplicitamente su di essi. Essi possono infatti portare ad un superamentodella rappresentazione possibile con risultati imprevedibili. Ad esempio sesommiamo due interi il cui risultato porti ad un valore teorico di +32769otterremo invece -32767 nel risultato. Infatti il numero vienerappresentato su una scala circolare dove al massimo positivo segue ilmassimo negativo.Per ciò che riguarda i calcoli che il Run-Time elabora automaticamenteper svolgere gli Animation Link non occorre invece preoccuparsi perché ilpacchetto provvede ad operare le necessarie conversioni al fine diimpedire il verificarsi di tali inconvenienti. Anche in tali casi è bene fareun po’ di attenzione per evitare di rimanere sconcertati di fronte acomportamenti che derivano dalla precisione utilizzata. Facciamo unesempio: se in una scala i cui valori vanno da 0 a 100, si volesse tracciareil valore di un dato la cui escursione va da 0 a 333, per rapportarlo allascala si dovrebbe moltiplicarne il valore per 0.3. Ma questo conduce ad uncomportamento indesiderato infatti, poiché i decimali verranno troncati, ilrisultato sarà che il valore da rappresentare sarà sempre 0!E inoltre, nell'utilizzo di Interi con valori scambiati mediante drivers, fareattenzione se essi siano riferiti a Words con o senza segno. Nel caso cheesse siano trattate, anche nel PLC, con segno l'Intero si presta ottimamentea rappresentarne i valori. Infatti una Word che contenga HFFFF verràrappresentata con -1.Questo non è congruente con il caso in cui essa sia invece trattata senzasegno, per cui si vorrebbe vederne il valore decimale come +65536: perovviare a questo inconveniente si consiglia di abbinare a tali Words undato a cui sia stato assegnato il tipo Lungo.

Versione 1.2

Capitolo 6 - Wmovie dati44

Tipo LungoPermette di rappresentare cifre con segno da -2.147.483.648 a+-2.147.483.647.Anche in questo caso non sono trattati i decimali e valgono le quindi leconsiderazioni fatte a proposito degli interi.Lo stesso si deve dire per il superamento della precisione, anche se i suoilimiti rendono meno probabile il verificarsi dei problemi descritti.

Tipo FloatPermette di rappresentare cifre con virgola. Esse hanno una precisione diotto cifre di mantissa e due cifre di esponente.

CommentoEsso è opzionale e può essere utilizzato per aggiungere una brevedescrizione (max 60 caratteri) del dato.

Valore inizialeÈ opzionale e permette di definire un valore, diverso da zero, che ilprogramma Run-Time imporrà come valore iniziale del dato quando vieneavviato.

Nome Esterno e Nome ApplicazioneIl nome esterno serve ad associare una variabile WELL ad una variabileWMOVIE. Esso infatti si riferisce ad una della Word di WELL e laassocia alla variabile Nome.Il nome applicazione si riferisce al programma a cui si associa la variabile.Questo è semper indicato come WINGS.

Esempio� Nome = “TEMP”.� Nome esterno = “WM100”.� Nome applicaz. = “WINGS”.Ogni qualvolta all’interno di WMOVIE verrà trattato TEMP,l’applicazione farà riferimento alla variabile WM100 collegata conWELL.

Min e Max Grezzo e IngegneristicoQuesti campi sono utilizzati solo a seguito di un'impostazione dei dueprecedenti e servono a scalare opportunamente i valori scambiati con undriver.Supponiamo che il driver legga mediante un sensore una temperatura chevaria da 0 a 300 °C fornendo un valore che va da 0 a H3FFF (0, 16383 indecimale). Per rendere possibile, nel Run-Time, la rappresentazioneingegneristica, occorre scalare il dato impostando in Min e MaxIngegneristico i valori 0 e 300, e in quelli Grezzo i valori 0 e 16383.Anche questo argomento viene più diffusamente trattato nei manuali deidrivers.

Manuale di WMOVIE

Capitolo 7 - Editor logic 45

C A P I T O L O 7C A P I T O L O 7

Editor Logic

Versione 1.2

Capitolo 7 - Editor logic46

IntroduzioneL’Editor Logic è costituito da record separati dal Carriage Return.Esso ha lo scopo di fornire al programmatore una task che può eseguiretutte le operazioni previste dalla sintassi di WMOVIE.Nel campo “Eseguire ogni” deve essere introdotto il tempo che deveintercorrere tra una esecuzione di un Editor Logic e la prossima (tutte lerighe contemporaneamente).

SintassiMolto spesso l’espressione di base è formata dalla seguente equazione:<Variabile> = <Espressione>

EsempioPrespmp = Temperatura * (Velmtr / 4)dove “Prespmp”, Temperatura” e “Velmtr” sono nomi di variabili.

Diversamente l’espressione potrebbe indicare le azioni da eseguire:<Funzione (<Espressione>)>

Esempio 1SHOW("Nextwin.wmv")dove SHOW è il comando che permette di visualizzare la finestracontenuta nel file “Nextwin.wmv” (oppure il file “Nextwin.wli” se ilprogramma sta usando questo tipo).

Esempio 2IF (Var1 > MaxTemp) THEN (Heater = MinH) ELSE (Heater = Heater + 1) ENDIF

Dagli esempi esposti si può notare che la sintassi utilizzabile nelleespressioni è formata da Operatori e da Funzioni.

Operatori aritmetici� +� -� *� /Sono operatori che lavorano intuitivamente.

Esempi<Variabile> = <Variabile | Costante> + <Variabile | Costante><Variabile> = <Variabile | Costante> - <Variabile | Costante><Variabile> = <Variabile | Costante> * <Variabile | Costante><Variabile> = <Variabile | Costante> / <Variabile | Costante>

Operatori logici� AND� OR� XORQuesti operatori lavorano su Bits e perciò sono utili quando trattanovariabili di tipo Intero o Lungo. Utilizzati con variabili di tipo Float invecepossono dare risultati imprevedibili (consultare il paragrafo relativo aWMDBESC).

Esempi<Variabile> = <Variabile | Costante> AND <Variabile | Costante><Variabile> = <Variabile | Costante> OR <Variabile | Costante><Variabile> = <Variabile | Costante> XOR <Variabile | Costante>

+ NotaL’espressione che segue l’uguale (=)non può includere un altro simbolo“=”; perciò dopo di esso si potrannousare solo nomi di espressioni chenon siano composte da equazioni.

+ NotaNessuna precedenza è prevista inWMOVIE. Si devono sempre usarele parentesi.

Manuale di WMOVIE

Capitolo 7 - Editor logic 47

Operatori ausiliari� (...)� ;� :Questi operatori devono essere utilizzati quando si devono impostare delleprecedenze di calcolo per esempio nel caso delle parentesi; quando sidevono inserire dei commenti a fine riga nel caso del punto e virgola equando si vogliono separare due istruzioni mantenendole sulla stessa riganel caso dei due punti.

Esempi<Variabile> = (<Variabile | Costante> + 10) / <Variabile | Costante><Variabile> = <Variabile | Costante> ; variabile di tipo intero<Variabile> = <Variabile | Costante> : <Variabile> = (<Variabile | Costante> + 10)

Operatori di comparazione� >=� >� ==� <=� <Questi operatori devono essere utilizzati quando si devono compararevariabili diverse.Essi possono essere utilizzati nelle espressioni condizionali o nelleespressioni di Animation Link Discreto.

EsempiIF (<Variabile> == <Variabile | Costante>) THEN (<Variabile | Costante> <= 1) ENDIFIF (<Variabile> >= <Variabile | Costante>) THEN (<Variabile | Costante> <= 1) ENDIFIF (<Variabile> > <Variabile | Costante>) THEN (<Variabile | Costante> < 1) ENDIF

Operatori condizionali� IF� THEN� ELSE� ENDIFQuesti operatori devono essere utilizzati quando si devono condizionaredeterminati valori delle variabili.

Regola 1Le espressioni tra questi operatori devono essere incluse prima traparentesi.

EsempioEspressione non corretta:IF <Variabile> > <Variabile | Costante> THEN <Variabile | Costante> = 0 ENDIFEspressione corretta:IF (<Variabile> > <Variabile | Costante>) THEN (<Variabile | Costante> = 0) ENDIF

Regola 2Gli operatori “IF”, “THEN”, “ENDIF”, devono essere utilizzati sempreinsieme; “ELSE” è opzionale. In pratica:• “IF” deve sempre essere all’inizio dell’espressione• “ENDIF” deve sempre essere alla fine.

EsempioEspressione non corretta:IF (<Variabile> > <Variabile | Costante>) THEN (<Variabile | Costante> = 0) ELSE (<Variabile | Costante> = 5)Espressioni corrette:IF (<Variabile> > <Variabile | Costante>) THEN (<Variabile | Costante> = 0) ELSE (<Variabile | Costante> = 5) ENDIFIF (<Variabile> > <Variabile | Costante>) THEN (<Variabile | Costante> = 0) ENDIF

Versione 1.2

Capitolo 7 - Editor logic48

Funzioni� SHOW� HIDE� DELETE� STARTAPP.

Attivazione di una finestraSHOW("NomeFinestra.wmv")

EsempioAttiva la finestra descritta dal file “Miafin.wmv”:SHOW("Miafin.wmv").

Disattivazione di una finestraHIDE("NomeFinestra.wmv")

EsempioDisattiva la visualizzazione della la finestra descritta dal file“Miafin.wmv”:HIDE("Miafin.wmv").

Cancellazione di una finestraDELETE("NomeFinestra.ftw")

EsempioCancella la finestra descritta dal file “Miafin.wmv”:DELETE("Miafin.wmv").

Attivazione di un programma eseguibileSTARTAPP(NomeProgramma.exe)

EsempioAttiva il programma “Clock.exe” di Windows.STARTAPP(C:\WINDOWS\Clock.exe).

Manuale di WMOVIE

Appendice 49

A P P E N D I C EA P P E N D I C E

Bitmap2VAL.BMP

2VAL1.BMP

3VAL.BMP

4VAL.BMP

AGIT.BMP

BFLY.BMP

BIN.BMP

BLWR.BMP

CMPR.BMP

CNVR.BMP

DTWR.BMP

FURN.BMP

IMIX.BMP

LFLT.BMP

MOTR1.BMP

OSCILL.BMP

PUMP.BMP

PVSL.BMP

RFDR.BMP

SCNV.BMP

VSSL.BMP

WHPR.BMP

XCHG2.BMP

XFMR.BMP

Versione 1.2

Appendice50

Questa pagina è stata lasciata intenzionalmente vuota.