lib:mdl:mdl-s-ipdevice-010

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 deviceTempo di campionamento
minimo (msec)
Tempo di campionamento
massimo (msec)
Tempo di esecuzione (%)
CANOPEN1250100
CALENDAR--0
DATASTORE12090,5
FREQ12504,75
DAC--0
ANINP125014,25
COUNTER312505,94
SERCOM12509,26
MODBUS125032,07
MMIQ211090,5
RECDATA12505,34
QMOS--0

Il firmware versione 20 implementa anche i seguenti devices:

Nome deviceTempo di campionamento
minimo (msec)
Tempo di campionamento
massimo (msec)
Tempo di esecuzione (%)
EANPOS125055,94
OOPOS3125027,91
HEAD2112523,75

Il firmware versione 30 implementa anche i seguenti devices:

Nome deviceTempo di campionamento
minimo (msec)
Tempo di campionamento
massimo (msec)
Tempo di esecuzione (%)
CAMMING3125055,94
JOINT1)125095,01

1) Il tempo di campionamento effettivo risulta essere doppio rispetta a quello impostato

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.

  • Ultima modifica: 2019/08/29 17:01