I devices
Con il termine device si identifica una categoria di dispositivi software atti a svolgere attività di supporto e di controllo, più o meno complesse, per risolvere le problematiche legate all'automazione dei sistemi. I devices si distinguono in due tipologie: interni ed esterni. I primi sono quelli il cui codice risiede e viene eseguito dal firmware del prodotto stesso. I secondi sono quelli il cui codice risiede e viene eseguito da schede di specializzazione “intelligenti” munite cioè di propria potenza di calcolo. Il prodotto ivi descritto può gestire solamente devices di tipo interno. La lista dei devices implementati nel firmware dipende dalla versione firmware. Lo scopo del presente paragrafo è quello di illustrare la lista e le caratteristiche dei devices disponibili.
Il firmware versione 10 implementa i seguenti devices:
Nome device | Tempo di campionamento minimo (msec) | Tempo di campionamento massimo (msec) | Tempo di esecuzione (%) |
---|---|---|---|
CANOPEN | 1 | 250 | 100 |
CALENDAR | - | - | 0 |
DATASTORE | 1 | 20 | 90,5 |
FREQ | 1 | 250 | 4,75 |
DAC | - | - | 0 |
ANINP | 1 | 250 | 14,25 |
COUNTER3 | 1 | 250 | 5,94 |
SERCOM | 1 | 250 | 9,26 |
MODBUS | 1 | 250 | 32,07 |
MMIQ2 | 1 | 10 | 90,5 |
RECDATA | 1 | 250 | 5,34 |
QMOS | - | - | 0 |
Il firmware versione 20 implementa anche i seguenti devices:
Nome device | Tempo di campionamento minimo (msec) | Tempo di campionamento massimo (msec) | Tempo di esecuzione (%) |
---|---|---|---|
EANPOS | 1 | 250 | 55,94 |
OOPOS3 | 1 | 250 | 27,91 |
HEAD2 | 1 | 125 | 23,75 |
Il firmware versione 30 implementa anche i seguenti devices:
Nome device | Tempo di campionamento minimo (msec) | Tempo di campionamento massimo (msec) | Tempo di esecuzione (%) |
---|---|---|---|
CAMMING3 | 1 | 250 | 55,94 |
JOINT1) | 1 | 250 | 95,01 |
Particolarità dei devices
CANOPEN
Se nella dichiarazione del device CANOPEN viene indicata la velocità zero allora essa diventa impostabile tramite i dip nr. 5 e 7 di SW1. Il primo slot per indirizzare risorse che risiedono all'interno di moduli Canopen è il 4.
DATASTORE
I files manipolati dal device DATASTORE sono tutti contenuti nella cartella /DS. Se questa cartella non esiste nel dispositivo essa viene creata automaticamente. Il device DATASTORE può operare sia con il dispositivo MMC/SD che con una memoria tipo NAND interna al prodotto (non removibile). Per definire con quale dispositivo operare viene utilizzato il valore del parametro priority (0=MMC/SD, 1=NAND). Se l'applicazione deve frequentemente accedere ai due dispositivi supportati e non è richiesta la rimozione fisica del dispositivo MMC/SD, è possibile utilizzare una particolare impostazione del parametro priority che evita di eseguire continuamente il MOUNT UMOUNT dei dispositivi. In pratica quando si desidera cambiare dispositivo prima di eseguire il comando UMOUNT si imposta “priority = -1”. Questo fa si che internamente al device la fase UMOUNT venga evitata rendendo il successivo comando MOUNT al medesimo dispositivo molto rapido.
Un esempio di codice QCL per cambiare dispositivo potrebbe essere:
SUB SETMMC WAIT NOT Mmc:st_busy IF Mmc:st_mount Mmc:priority = -1 UMOUNT Mmc WAIT NOT Mmc:st_mount CALL CHECK_ERR_WRN ENDIF Mmc:priority = 0 MOUNT Mmc WAIT Mmc:st_mount ENDSUB SUB SETNAND WAIT NOT Mmc:st_busy IF Mmc:st_mount Mmc:priority = -1 UMOUNT Mmc WAIT NOT Mmc:st_mount CALL CHECK_ERR_WRN ENDIF Mmc:priority = 1 MOUNT Mmc WAIT Mmc:st_mount CALL CHECK_ERR_WRN ENDSUB
Esiste una particolare impostazione dei parametri che permette di verificare l'esistenza di un file nel dispositivo. Si utilizza il parametro “filenum” impostato al valore -1 e con il comando OPENFILE il device invece di aprire il file ricerca il primo file presente nella directory “/DS/” del dispositivo scelto. Quando trovato, il nome di tale file sarà impostato dal device nel parametro “filenum” stesso (ed il tipo nel parametro “filetype”). Impostando nuovamente -1 in “filenum” ed eseguendo il comando OPENFILE verrà cercato il nome del file successivo e così via. Ogniqualvolta verrà effettuata una operazione di OPENFILE con il filenum diverso da -1 il loop di ricerca verrà chiuso. Quando la ricerca sarà terminata e non vi saranno più file presenti, allora il device imposterà come risposta al comando OPENFILE “filenum = -2”. L'avvenuta esecuzione del comando sarà segnalata dal flag st_busy = 0. Se l'estensione del file non è HEX o CSV il file stesso viene ignorato dalla ricerca. Nel caso in cui il nome file non sia compatibile con quelli gestiti dal DATASTORE (numeri da 0 a 9999999) allora “filenum” rimarrà impostato a -1 e verrà segnalato un warning.
RECDATA
Il device può memorizzare un massimo di 10000 step.
QMOS
Il parametro “frwuvalue01” contiene il valore numerico del serial number del prodotto.
FREQ
Per definire l'ingresso associato al device FREQ utilizzare l'apposito campo numerico nella dichiarazione del device. La disponibilità di ingressi in frequenza deve essere verifcata con la versione hardware del prodotto. Per ricavare la relazione tra valore numerico e pin del morsetto utilizzare le informazioni contenute nella colonna “Indirizzo” nelle tabelle di illustrazione del morsetto.
CAMMING3
I parametri relativi ai settori (CodeQm, CodeQs…) non sono ritentivi. All'accensione essi assumono sempre valore 0.