Allegato A SPECIFICHE FUNZIONALI PER LA CODIFICA DEL SOFTWARE DI COMUNICAZIONE 1. Generalita' Il protocollo di comunicazione e' un insieme di regole in base alle quali due entita' connesse si possono scambiare dati di livello applicativo relativi al funzionamento di apparecchi o congegni automatici per il gioco lecito. Nel protocollo sono previsti due ruoli, identificati con gli appellativi di "Client" e "Server". Il Server ha facolta' di poter interrogare il Client circa il suo stato, ovvero circa le informazioni di gioco in suo possesso. Il Client e' sempre in attesa dei comandi del Server, a fronte dei quali prepara delle risposte e le invia. Ogni interazione tra Client e Server si basa sullo scambio di due messaggi: richiesta e risposta. Nelle funzioni relative alle attivita' normali il Server effettua la richiesta ed il Client confeziona la risposta; non sono previste da parte del Client comunicazioni non sollecitate dal Server. Per motivi di sicurezza e integrita' dei dati, sui messaggi da inviare occorre sempre inserire l'identificativo del Client. 1.1 Entita' coinvolte Le entita' Client e Server coinvolte nell'utilizzo del protocollo sono i terminali di gioco ed il terminale di controllo ovvero sistema di controllo. In seguito i nomi delle entita' saranno abbreviati secondo le seguenti sigle: =========================================================== Entita' Sigla =========================================================== Terminali di gioco TG ----------------------------------------------------------- Sistema di controllo SC ----------------------------------------------------------- 1.2 Allineamento applicativo In base al protocollo il Client e' in attesa di comandi dal Server cui inviare le relative risposte. Una volta inviata la risposta ad un comando, il Client aspetta un messaggio di "ricevuto" (ACK) da parte del Server. Un Client che non riceve una risposta (ACK) ad un messaggio precedentemente inviato e' autorizzato a ritentare l'invio dello stesso messaggio solamente dopo la scadenza del timeout e senza modificarne in alcun modo i contenuti. Se dopo l'invio del secondo messaggio non riceve risposta da parte del Server considerera' il Server inattivo e rimarra' in attesa di nuovi messaggi da parte del Server che indicheranno un suo ritorno in attivita'. Qualora invece il Client riceva il messaggio di ACK considerera' conclusa l'attivita' relativa alla richiesta ricevuta e si porra' in attesa di nuovi messaggi da parte del Server. Nel caso in cui il Server riceva due volte lo stesso messaggio, restituira' una risposta con un messaggio di ACK al solo fine di mantenere il sincronismo. 2. Convenzioni di Codifica Di seguito sono riportati e descritti i tipi di dati utilizzati nelle specifiche dei messaggi del protocollo: ============================================================= Tipo Descrizione String E' un campo alfanumerico di lunghezza variabile, con caratteri espressi in byte singoli secondo la codifica ASCII ------------------------------------------------------------- Numeric E' un campo numerico decimale intero di lunghezza variabile, nel quale ciascuna cifra occupa un byte e segue la codifica ASCII ------------------------------------------------------------- Hex E' un campo numerico a lunghezza fissa di 4 byte e codifica esadecimale ------------------------------------------------------------- Tutti i campi numerici specificati nei messaggi contengono solo valori interi privi di interpunzione per le migliaia. Se il campo non contiene valori significativi e' impostato a zero. Tutti i campi dei messaggi che contengono importi sono espressi in centesimi di Euro. 3. Struttura dei messaggi Ogni messaggio applicativo, scambiato tra un Client ed un Server e' composto da tre parti: [] Header del protocollo [] Corpo del messaggio [] Footer del protocollo In questo allegato sono approfonditi gli aspetti legati al Corpo del messaggio relegando Header e Footer ai documenti descrittivi del collegamento fisico tra i due dispositivi. 4. Impostazioni della porta di comunicazione seriale Per la connessione locale tra TG e SC si utilizza la porta di comunicazione seriale (RS232) presente sulla scheda di gioco. I parametri di configurazione di tale porta di comunicazione sono i seguenti: - Velocita' di trasmissione: 19200 Bit per secondo - Numero di Bit di codifica: 8 - Bit di parita': Nessuno - Bit di stop: 1 - Controllo di flusso: Nessuno 5. Corpo del messaggio Il Corpo del messaggio contiene le richieste operate dal Server e dirette al Client oppure le risposte inviate dal Client e dirette al Server. Tutte le possibili richieste operate dal Server sono state codificate e sono rappresentate nel campo numerico Id messaggio. Tale numero identificativo, contenuto nei primi 3 caratteri del Corpo del messaggio, e' sempre presente in tutti i messaggi ed assume lo stesso valore sia nel messaggio di richiesta che in quello di risposta. In tutti i messaggi, sia di richiesta che di risposta, e' sempre presente il campo L messaggio che rappresenta la lunghezza complessiva del corpo del messaggio. In tutti i messaggi di risposta e' inoltre sempre presente il codice identificativo del TG (CODEID), la data relativa alla risposta del Client (DATA Risposta), un codice di esito della risposta in base al quale effettuare eventuali diagnosi in caso di malfunzionamenti (ESITO). Di seguito e' riportata una tabella che documenta i tipi di messaggi previsti nel presente protocollo con i rispettivi identificativi e descrizione: ==================================================================== Id messaggio Descrizione ==================================================================== 111 Interrogazione del contenuto di un contatore -------------------------------------------------------------------- 112 Interrogazione del contenuto di piu' contatori -------------------------------------------------------------------- 113 Interrogazione del contenuto di tutti i contatori -------------------------------------------------------------------- 114 Interrogazione dei dati di gioco relativi ad una data -------------------------------------------------------------------- 115 Interrogazione dei dati di gioco relativi ad un intervallo di date -------------------------------------------------------------------- 116 Interrogazione sugli accessi al sistema in una data -------------------------------------------------------------------- 117 Interrogazione sugli accessi al sistema in un intervallo di date -------------------------------------------------------------------- 118 Interrogazione data di inizio del ciclo corrente -------------------------------------------------------------------- 119 Interrogazione dei dati di gioco nell'ambito del ciclo corrente relativi all'intervallo di partite specificato -------------------------------------------------------------------- 120 Interrogazione del valore del contatore CNTTOTIN alle ore 24:00 del 31 dicembre dell'anno precedente -------------------------------------------------------------------- 121 Interrogazione del valore del contatore CNTTOTOT alle ore 24:00 del 31 dicembre dell'anno precedente -------------------------------------------------------------------- 122 Interrogazione del volume di Euro restituiti sotto forma di vincite nell'ultimo ciclo concluso -------------------------------------------------------------------- 123 Interrogazione della durata complessiva in secondi di tutte le partite nell'ultimo ciclo concluso -------------------------------------------------------------------- 124 Interrogazione del volume di Euro restituiti sotto forma di vincite nel ciclo precedente all'ultimo ciclo concluso -------------------------------------------------------------------- 125 Interrogazione della durata complessiva in secondi di tutte le partite del ciclo precedente all'ultimo ciclo concluso -------------------------------------------------------------------- 150 Conferma di ricezione del messaggio (ACK) -------------------------------------------------------------------- I possibili contatori del TG ed i dati che quest'ultimo deve immagazzinare, rendendoli disponibili alle interrogazioni del Server, sono riportati nell'articolo 2 del decreto direttoriale del quale questo allegato costituisce parte integrante. Di seguito si riporta la struttura dei messaggi oggetto di questo protocollo suddivisi per tipo di messaggio. I campi che compongono il messaggio sono di lunghezza variabile e divisi dal carattere separatore ""; la lunghezza indicata nelle tabelle successive e' quella massima che puo' assumere il singolo campo. 5.1 Interrogazione del contenuto di un contatore 5.1.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore di uno dei contatori in esso presenti. Nel messaggio di richiesta andra' pertanto inserito il nome del contatore di cui si richiede il valore. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO), il nome del contatore richiesto ed il corrispondente valore. 5.1.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 111 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Rappresenta il nome del contatore di cui si chiede il valore; puo assumere uno dei seguenti valori: - CNTTOTIN - CNTTOTOT 3 Contatore String 8 - CNTCL - CNTIN - CNTOT - CNTNP -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.1.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 111 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impostato con il relativo codice di 5 ESITO String 2 errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Contatore String 8 Il nome del contatore richiesto -------------------------------------------------------------------- 7 Valore contatore Numeric 8 Valore del contatore richiesto -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.2 Interrogazione del contenuto di piu' contatori 5.2.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore di una lista di contatori in esso presenti. Nel messaggio di richiesta andra' pertanto inserita una lista dei contatori di cui si richiede il valore. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO) e la lista dei contatori presenti nella richiesta seguiti ciascuno dal rispettivo valore. 5.2.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 112 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 Lista contatori String 41 Rappresenta la lista dei contatori di cui si richiede il valore; i nomi dei contatori devono essere separati da virgola. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.2.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 112 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Number 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Contatore String 8 Il nome del contatore richiesto -------------------------------------------------------------------- 7 Valore Numeric 8 Valore del contatore contatore richiesto e riportato nella risposta nel campo precedente -------------------------------------------------------------------- --- --- --- --- -------------------------------------------------------------------- 6b Contatore String 8 Il nome del contatore richiesto -------------------------------------------------------------------- 7b Valore Numeric 8 Valore del contatore contatore richiesto e riportato nella risposta nel campo precedente -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono presenti in caso di esito positivo. 5.3 Interrogazione del contenuto di tutti i contatori 5.3.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore di tutti i contatori in esso presenti. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO) e la lista del valore assunto da ciascun contatore secondo l'ordine seguente: - CNTTOTIN - CNTTOTOT - CNTCL - CNTIN - CNTOT - CNTNP. 5.3.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 113 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.3.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 113 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Number 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impostato con il 5 ESITO String 2 relativo codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Valore contatore Numeric 8 Valore del contatore CNTTOTIN CNTTOTIN -------------------------------------------------------------------- 7 Valore contatore Numeric 8 Valore del contatore CNTTOTOT CNTTOTOT -------------------------------------------------------------------- 8 Valore contatore Numeric 4 Valore del contatore CNTCL CNTCL -------------------------------------------------------------------- 9 Valore contatore Numeric 6 Valore del contatore CNTIN CNTIN -------------------------------------------------------------------- 10 Valore contatore Numeric 6 Valore del contatore CNTOT CNTOT -------------------------------------------------------------------- 11 Valore contatore Numeric 5 Valore del contatore CNTNP CNTNP -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono presenti in caso di esito positivo. 5.4 Interrogazione dei dati di gioco relativi ad una data 5.4.1 Descrizione Questa funzione consente ai SC di richiedere la lista dei dati di dettaglio relativi a tutte le partite giocate nella data specificata. In particolare il TG restituisce a fronte di tale richiesta i valori della durata di ciascuna partita e l'importo della vincita espresso in centesimi di Euro (0 in caso di partita persa e da 1 a 5.000 in caso di partita vinta). Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO) ed una lista di coppie di valori (durata della partita ed importo della vincita). Esiste anche un caso particolare in cui il valore relativo all'importo della vincita assume il valore 99999. Tale evento e' registrato, immediatamente al termine dell'ultima partita di un ciclo, in un record che ha la funzione di separare due cicli consecutivi di 14.000 partite (contestualmente alla registrazione di tale evento il contatore CNTCL si incrementa di una unita' ed il contatore CNTNP si azzera). 5.4.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 114 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- Tutti i campi sono obbligatori 5.4.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 114 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle coppie "ELPTM,IMP" separate dal carattere "!" in cui ELPTM e' di 2 byte e 7 Lista String n x 9 - 1 IMP di 5 byte; ELPTM,IMP n rappresenta il numero delle partite giocate nella data indicata; -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono impostati in caso di esito positivo. 5.5 Interrogazione dati di gioco relativi ad un intervallo di date 5.5.1 Descrizione Questa funzione consente ai SC di richiedere la lista dei dati di dettaglio relativi a tutte le partite giocate nell'intervallo di date specificato. La risposta e' di lunghezza variabile e contiene una lista in cui per ciascuna data e' riportata la lista delle coppie di valori relativi a durata della partita ed importo della vincita espresso in centesimi di Euro (0 in caso di partita persa e da 1 a 5.000 in caso di partita vinta). Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO) e per ciascuna data (DATA) una lista di coppie di valori (durata della partita ed importo della vincita). Esiste anche un caso particolare in cui il valore relativo all'importo della vincita assume il valore 99999. Tale evento e' registrato, immediatamente al termine dell'ultima partita di un ciclo, in un record che ha la funzione di separare due cicli consecutivi di 14.000 partite (contestualmente alla registrazione di tale evento il contatore CNTCL si incrementa di una unita' ed il contatore CNTNP si azzera). 5.5.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 115 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA IN Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 DATA FIN Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.5.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 115 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle coppie "ELPTM,IMP" separate dal carattere "!" in cui ELPTM e' di 2 byte e 7 Lista String n x 9 - 1 IMP di 5 byte; ELPTM,IMP n rappresenta il numero delle partite giocate nella data indicata; -------------------------------------------------------------------- --- --- --- --- -------------------------------------------------------------------- 6b DATA String 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle coppie "ELPTM,IMP" separate dal carattere "!" in cui ELPTM e' di 2 byte e 7b Lista String m x 9 - 1 IMP di 5 byte; ELPTM,IMP m rappresenta il numero delle partite giocate nella data indicata; -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono impostati in caso di esito positivo. 5.6 Interrogazione sugli accessi al sistema in una data 5.6.1 Descrizione Questa funzione consente ai SC di richiedere la lista degli accessi all'interno dell'apparecchio o congegno nella data specificata. La risposta e' di lunghezza variabile ed in essa il TG fornisce il proprio codice identificativo, ed una lista relativa a tutti gli eventi registrati dal sistema avvenuti nella data specificata indicando ora, minuto ed tipo di evento. 5.6.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 116 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- Tutti i campi sono obbligatori 5.6.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 116 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- 5 ESITO String 2 tato con il relativo codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle terne "ORA, MIN, EVNT" separate dal carattere "!" in cui: ORA e' nel formato "HH", 7 Lista Numeric n x 7 MIN nel formato "MM", ORA,MIN,EVNT EVNT nel formato 0 per Accensione 1 per Spegni- mento 2 per tentata manomissione; n rappresenta il numero degli eventi avvenuti nella data indicata dove ORA e' 2 byte, MIN e' 2 byte, EVNT e' 1 byte -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono presenti in caso di esito positivo. 5.7 Interrogazione sugli accessi a sistema in un intervallo di date 5.7.1 Descrizione Questa funzione consente ai SC di richiedere la lista degli accessi all'interno dell'apparecchio o congegno nell'intervallo di date specificato. La risposta e' di lunghezza variabile ed in essa il TG fornisce il proprio codice identificativo, ed una lista relativa a tutti gli eventi registrati dal sistema avvenuti nell'intervallo di date specificato nella richiesta indicando, per ciascuna data, la lista di ora, minuto e tipo di evento. 5.7.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 117 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA IN Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 DATA FIN Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- Tutti i campi sono obbligatori 5.7.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 117 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA IN Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle terne "ORA, MIN,EVNT" separate dal carattere "!" in cui ORA e' nel formato "HH", 7 Lista Numeric n x 7 MIN nel formato "MM", ORA,MIN,EVNT EVNT nel formato 0 per Accensione 1 per Spegni- mento 2 per tentata manomissione; n rappresenta il numero degli eventi avvenuti nella data indicata dove ORA e' 2 byte, MIN e' 2 byte, EVNT e' 1 byte -------------------------------------------------------------------- --- --- --- --- -------------------------------------------------------------------- 6b DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle terne "ORA, MIN,EVNT" separate dal carattere "!" in cui ORA e' nel formato "HH", 7b Lista Numeric n x 7 MIN nel formato "MM", ORA,MIN,EVNT EVNT nel formato 0 per Accensione 1 per Spegni- mento 2 per tentata manomissione; n rappresenta il numero degli eventi avvenuti nella data indicata dove ORA e' 2 byte, MIN e' 2 byte, EVNT e' 1 byte -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono impostati in caso di esito positivo. 5.8 Richiesta della data di inizio del ciclo corrente 5.8.1 Descrizione Questa funzione consente ai SC di richiedere al TG la data di inizio del ciclo corrente. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) e la data di inizio del ciclo corrente. 5.8.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 118 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.8.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 118 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- 5 ESITO String 2 tato con il relativo codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA String 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.9 Interrogazione dei dati di gioco nell'ambito del ciclo corrente relativi all'intervallo di partite specificato 5.9.1 Descrizione Questa funzione consente ai SC di richiedere la lista dei dati di dettaglio relativi a tutte le partite giocate nell'intervallo specificato nell'ambito del ciclo corrente. Nella richiesta vanno indicati gli estremi dell'intervallo di partite di cui si richiedono i dati di dettaglio. La risposta e' di lunghezza variabile e contiene una lista in cui per ciascuna data e' riportata la lista delle coppie di valori relativi alla durata di ciascuna partita e all'importo della vincita espresso in centesimi di Euro (0 in caso di partita persa e da 1 a 5.000 in caso di partita vinta). Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta), l'esito della risposta (ESITO) e per ciascuna data (DATA) una lista di coppie di valori (durata della partita ed importo della vincita). Esiste anche un caso particolare in cui il valore relativo all'importo della vincita assume il valore 99999. Tale evento e' registrato, immediatamente al termine dell'ultima partita di un ciclo, in un record che ha la funzione di separare due cicli consecutivi di 14.000 partite (contestualmente alla registrazione di tale evento il contatore CNTCL si incrementa di una unita' ed il contatore CNTNP si azzera). 5.9.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 119 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 N Partita in Numeric 5 Numero di partita di inizio intervallo com- preso tra 1 e 14000 -------------------------------------------------------------------- 4 N Partita fin Numeric 5 Numero di partita di fine intervallo compreso tra 1 e 14000 -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.9.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 119 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Number 8 Data nel formato "GG.MM.AA." -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 DATA Numeric 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle coppie "ELPTM,IMP" separate dal carattere"!" in cui ELPTM e' di 2 byte e 7 Lista String n x 9 - 1 IMP di 5 byte; ELPTM,IMP n rappresenta il numero delle partite giocate nella data indicata; -------------------------------------------------------------------- --- --- --- --- -------------------------------------------------------------------- 6b DATA String 8 Data nel formato "GG.MM.AA" relativa ai valori forniti nella lista seguente -------------------------------------------------------------------- Lista delle coppie "ELPTM,IMP" separate dal carattere "!" in cui ELPTM e' di 2 byte e 7b Lista String m x 9 - 1 IMP di 5 byte; ELPTM,IMP m rappresenta il numero delle partite giocate nella data indicata; -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori. I campi successivi sono impostati in caso di esito positivo. 5.10 Interrogazione del valore del contatore CNTTOTIN al 31 Dicembre dell'anno precedente. 5.10.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore del contatore CNTTOTIN alle ore 24:00 del 31 Dicembre dell'anno precedente. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) ed il valore del contatore CNTTOTIN alle ore 24:00 del 31 Dicembre dell'anno precedente. 5.10.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 120 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.10.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 120 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- 5 ESITO String 2 tato con il relativo codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Valore contatore Numeric 8 Valore del contatore CNTTOTIN CNTTOTIN alle ore 24:00 del 31 Dicembre dell' anno precedente -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.11 Interrogazione del valore del contatore CNTTOTOT al 31 Dicembre dell'anno precedente. 5.11.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore del contatore CNTTOTOT alle ore 24:00 del 31 Dicembre dell'anno precedente. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) ed il valore del contatore CNTTOTOT alle ore 24:00 del 31 Dicembre dell'anno precedente. 5.11.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 121 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.11.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 121 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Valore contatore Numeric 8 Valore del contatore CNTTOTOT CNTTOTOT alle ore 24:00 del 31 Dicembre dell' anno precedente -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.12 Interrogazione del volume di Euro restituiti sotto forma di vincite nell'ultimo ciclo concluso 5.12.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore del contatore CNTOT al termine dell'ultimo ciclo concluso. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) ed il valore del contatore CNTOT al termine dell'ultimo ciclo concluso. 5.12.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 122 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.12.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 122 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Valore contatore Numeric 6 Valore del contatore CNTOT CNTOT al termine dell' ultimo ciclo concluso -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.13 Interrogazione della durata complessiva in secondi di tutte le partite dell'ultimo ciclo concluso 5.13.1 Descrizione Questa funzione consente ai SC di richiedere al TG la durata complessiva in secondi di tutte le partite dell'ultimo ciclo concluso. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) e la durata complessiva in secondi di tutte le partite dell'ultimo ciclo concluso. 5.13.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 123 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.13.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 123 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Durata Numeric 6 Durata complessiva di complessiva tutte le partite dell' ultimo ciclo concluso -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.14 Interrogazione del volume di Euro restituiti sotto forma di vincite nel ciclo precedente all'ultimo ciclo concluso 5.14.1 Descrizione Questa funzione consente ai SC di richiedere al TG il valore del contatore CNTOT al termine del ciclo precedente all'ultimo ciclo concluso. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) ed il valore del contatore CNTOT al termine del ciclo precedente all'ultimo ciclo concluso. 5.14.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 124 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.14.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 124 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Valore Numeric 6 Valore del contatore CNTOT CNTOT al termine del ciclo precedente all' ultimo ciclo concluso. -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.15 Interrogazione della durata complessiva in secondi di tutte le partite del ciclo precedente all'ultimo ciclo concluso 5.15.1 Descrizione Questa funzione consente ai SC di richiedere al TG la durata complessiva in secondi di tutte le partite del ciclo precedente all'ultimo ciclo concluso. Nella risposta il TG fornisce il proprio codice identificativo (CODEID), la data della risposta (DATA Risposta) e la durata complessiva in secondi di tutte le partite del penultimo ciclo precedente. 5.15.2 Richiesta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 125 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.15.3 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 125 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 DATA Risposta Numeric 8 Data nel formato "GG.MM.AA" -------------------------------------------------------------------- 4 CODEID String 11 Codice identificativo della scheda di gioco -------------------------------------------------------------------- Esito della richiesta. Per esito positivo e' impostato a zero, per esito negativo e' impos- tato con il relativo 5 ESITO String 2 codice di errore (vedi tabella errori in allegato). I campi seguenti non sono presenti in caso di esito negativo -------------------------------------------------------------------- 6 Durata Numeric 6 Durata complessiva di tutte le partite del ciclo precedente all' ultimo ciclo concluso. -------------------------------------------------------------------- I campi "Id messaggio", "L messaggio", "DATA Risposta", "CODEID" ed "ESITO", sono obbligatori; i campi successivi sono presenti in caso di esito positivo. 5.16 Conferma di ricezione del messaggio (ACK) 5.16.1 Descrizione Si tratta di un messaggio di sola risposta con il quale il SC notifica al TG la ricezione (Acknowledge) del messaggio da quest'ultimo precedentemente inviato. La ricezione di tale messaggio da parte del TG gli permette di mettersi in attesa di successivi comandi da parte del SC. 5.16.2 Risposta Corpo del messaggio: ==================================================================== Prog Campo Tipo Max Descrizione lunghezza ==================================================================== 1 Id messaggio Numeric 3 Valore = 150 -------------------------------------------------------------------- 2 L messaggio Hex 4 Contiene la lunghezza, espressa in codifica esadecimale, dell'intero messaggio. -------------------------------------------------------------------- 3 Id messaggio Numeric 3 Contiene il valore del ricevuto campo Id messaggio presente nella risposta precedentemente inviata dal TG -------------------------------------------------------------------- Tutti i campi sono obbligatori. 5.17 Tabella codici di errore ==================================================================== Codice errore Descrizione ==================================================================== 00 Codice di ritorno OK (nessun errore riscontrato) -------------------------------------------------------------------- 1A Richiesta dati per una data futura -------------------------------------------------------------------- 1B Richiesta dati per una data non presente in memoria -------------------------------------------------------------------- 1C Intervallo di date incompatibile -------------------------------------------------------------------- 1D Richiesta dati per un intervallo non presente in memoria -------------------------------------------------------------------- 1E Richiesta dati per un contatore inesistente -------------------------------------------------------------------- 1F Uno o piu' contatori nella lista inesistenti -------------------------------------------------------------------- 1G Intervallo di partite incompatibile -------------------------------------------------------------------- 1H Intervallo di partite non presente in memoria -------------------------------------------------------------------- -------------------------------------------------------------------- FF Errore generico --------------------------------------------------------------------