~~BOZZA~~
![]() |
|||
Document: | MIMR100C | ||
---|---|---|---|
Description: | Installation and Maintenance Manual | ||
Drawn up: | Riccardo Furlato | ||
Approved | Gabriele Bazzi | ||
Link: | http://www.qem.eu/doku/doku.php/en/strumenti/microqmove/r100c/mimr100cfx | ||
Language: | English | ||
Release | Description | Notes | Date |
01 | New manual | Valid: hardware release “01.1” software release “10.0.2” | 26/06/2014 |
The controller has been designed for industral environments in conformity to EC directive 2004/108/CE.
R100C is a product of the MicroQmove series that, in its maximum configuration, can be equipped with:
Standard | |
---|---|
![]() | 1 serial programming PROG PORT (Only with IQ009) |
![]() | 1 multistandard serial port (RS232/422/485) - USER PORT |
![]() | 1 MMC/SD card slot |
![]() | 1 CANbus port |
![]() | 8 system led's |
![]() | 5 user led's |
![]() | 2 user key |
![]() | 1 user display |
![]() | Anti-vibration spring cage terminals |
![]() | Clock calender |
![]() | 1 USB PORT (Host) |
![]() | 4 analog input |
![]() | 2 two-way counts |
![]() | 16 digital output |
![]() | 4 Output DC Motor Control |
The Ordering Code provides the exact product characteristics. Make sure that the product characteristics meet your requirements.
Model | Caratteristiche | |||||
R100CF | 10 | E1 | / | Q13 | / | 24V |
---|---|---|---|---|---|---|
Power supply voltage 24V = 24Vdc (+/-15%) |
||||||
Q13 base card option = nr.1 User serial port , nr.1 CanOpen port, 1 USB port, nr.16 input (24V - PNP), nr.16 output (24V - PNP - max 2A), nr.4 analog input (12bit), nr. 4 Output DC Motor Control, nr.2 counts | ||||||
Expansion card: E1 = B5-Q10 | ||||||
Firmware version: 10 = PLC / Counter | ||||||
Hardware version: R100C = “microQmove” serie's F = fully programmable |
Version | Description |
---|---|
10 | Fully programmable, with PLC/Counter functions |
For more information about the firmware's characteristics, refer to the table Devices abilitati negli strumenti.
Q11 OPTION | |
---|---|
![]() | 1 CANbus port |
![]() | 1 USB Host port |
![]() | 12 digital output PNP 2A |
![]() | 4 analog input (12bit) |
![]() | 4 Output DC Motor Control |
.
Q12 OPTION | |
---|---|
![]() | 1 CANbus port |
![]() | 1 USB Host port |
![]() | 16 digital output PNP 2A |
![]() | 4 analog input (12bit) |
![]() | 2 two-way counts 24V-PNP |
![]() | 4 Output DC Motor Control |
Q13 OPTION | |
---|---|
![]() | 1 multistandard port (RS232-RS422-RS485) - USER PORT |
![]() | 1 CANbus port |
![]() | 1 USB Host port |
![]() | 16 digital output PNP 2A |
![]() | 4 analog input (12bit) |
![]() | 2 two-way counts 24V-PNP |
![]() | 4 Output DC Motor Control |
The R100C has a base board which integrates all the features necessary for the operation of microqmove.
Slot | Description |
---|---|
Power Supply | Power supply connector on the base card |
Slot 2 | Base board (B5-Q10) |
Slot 3 | Expansion card (not avaiable) |
Slot 4-8 | Remote CANBUS module slots |
Weight (maximum hardware configuration) | 500g |
---|---|
Box material | PVC |
Led utente | 5 |
Led sistema | 8 |
Tasti funzione | 2 |
Tasti sistema | 3 |
Temperatura di esercizio | 0 ÷ 50°C |
Umidità relativa | 90% senza condensa |
Altitudine | 0 - 2000m s.l.m. |
Temperatura di trasporto e stoccaggio | -25 ÷ +70 °C |
Microprocessore RISC (32 bit) | |
---|---|
Frequenza di lavoro | 200MHz |
Memoria RAM | 2MB |
Memoria Flash | 8MB |
Memoria Ritentiva | 13KB |
Per maggiori informazioni sull'utilizzo della memoria consultare le Memorie utilizzate
Quote in mm.
![]() | • Leggere attentamente. • Vedi note tecniche riguardanti i morsetti Weidmuller BLZF, BLZ e B2L. |
---|
Famiglia | Sezione filo senza puntalini | Sezione filo con puntalini | Caratteristiche contatto |
|
---|---|---|---|---|
![]() | BLZF 3.50 | 0,3÷1,50 mm2 | 0,3÷1 mm2 | ![]() |
![]() | B2L 3.50 | 0,3÷1,00 mm2 | 0,3÷0,5 mm2 | |
![]() | B2CF 3.50 | 0,14÷1,50 mm2 | 0,14÷1,50 mm2 | |
![]() | BLZF 5.08 | 0,3÷2,50 mm2 | 0,3÷2,00 mm2 | |
![]() | BLF 5.00 | 0,2÷2,50 mm2 | 0,3÷2,00 mm2 | |
![]() | BLZ 5.00 | 0,2÷2,50 mm2 | 0,1÷1 mm2 | ![]() |
![]() | Per un cablaggio più sicuro, si consiglia l'uso di puntalini |
---|
Sezione filo | Sezione puntalino | Marca | Modello |
---|---|---|---|
0,1÷0,3 mm2 | 0,95 mm2 | Cembre | PKE 308 |
0,3÷0,5 mm2 | 1,32 mm2 | Cembre | PKE 508 |
BM | BM00601 | ||
1 mm2 | 2,5mm2 | BM00603 | PK 108 |
BM | BM00603 |
Modello: “Cembre ND#4 cod. 2590086”
Cacciavite a lama piatta secondo DIN 5264-A.
A = 0,6mm
B = 2,5mm max
C = 7 mm min
Cacciavite a lama piatta secondo DIN 5264. Coppia di serraggio: 0,4 ÷ 0,5 Nm.
A = 0,6mm
B = 3,5mm
Scoprire il rame del filo per 10mm
Inserire il puntalino e stringerlo con l'apposita pinza
a) inserire il cacciavite senza ruotarlo
b) inserire il puntalino nel morsetto
Estrarre il cacciavite
Alimentazioni disponibili | 24 Vdc |
---|---|
Range valido | 22 ÷ 27 Vdc |
Assorbimento max. | 30W |
CN1 | Morsetto | Simbolo | Description |
---|---|---|---|
![]() ![]() | 1 | ![]() | 0V alimentazione DC |
2 | GROUND | Terra-PE (segnali) | |
3 | ![]() | +24V positivo alimentazione DC |
Si prescrive l'uso di un alimentatore isolato con uscita 24Vdc +/-5% conforme a EN60950-1.
Usare due alimentatori separati: uno per la parte di controllo e uno per la parte di potenza
Nel caso di un unico alimentatore, usare due linee separate: una per il controllo e una per la potenza
Non usare le stesse linee della parte di potenza
CN2 | Morsetto | RS232 | RS422 | RS485 | Descrizione |
---|---|---|---|---|---|
![]() | 1A | - | - | A | Terminale A - RS485 |
2A | - | - | B | Terminale B - RS485 | |
3A | 0V | 0V | 0V | Comune USER PORT | |
4A | 0V | 0V | 0V | Comune USER PORT | |
5A | TX | - | - | Terminale TX - RS232 | |
6A | Terra | ||||
1B | - | RX | - | Terminale RX - RS422 | |
2B | - | RXN | - | Terminale RX N - RS422 | |
3B | - | TX | - | Terminale TX - RS422 | |
4B | - | TXN | - | Terminale TX N - RS422 | |
5B | RX | - | - | Terminale RX - RS232 | |
6B | Terra |
Nome jumper | Impostazione | Funzione | |
---|---|---|---|
![]() | JP1 | INSERITO | Terminazione CAN attivata |
JP2 |
Connettore per l'inserimento della Memory card (evidenziato dalla freccia)
Le caratteristiche elettriche sono riportate nel paragrafo Caratteristiche elettriche.
Gli esempi di collegamento sono riportati nel paragrafo Esempi di collegamento
CN8 | Morsetto | Simbolo | Description | Address | |
---|---|---|---|---|---|
![]() | 1 | 0V | Comune degli ingressi digitali | ||
2 | I1 | Ingresso I1 | 2.INP01 | ||
3 | I2 | Ingresso I2 | 2.INP02 | ||
4 | I3 | Ingresso I3 | 2.INP03 | ||
5 | I4 | Ingresso I4 | 2.INP04 | ||
6 | I5 | Input I5 | 2.INP05 | ||
7 | I6 | Input I6 | 2.INP06 | ||
8 | I7 | Ingresso I7 | 2.INP07 | ||
9 | I8 | Ingresso I8 | 2.INP08 |
.
CN9 | Morsetto | Simbolo | Description | Address | |
---|---|---|---|---|---|
![]() | 1 | 0V | Comune degli ingressi digitali | ||
2 | I9 | Input I9 | 2.INP09 | ||
3 | I10 | Input I10 | 2.INP10 | ||
4 | I11 | Input I11 | 2.INP11 | ||
5 | I12 | Ingresso I12 | 2.INP12 | ||
6 | I13 | Ingresso I13 | 2.INP13 | ||
7 | I14 | Ingresso I14 | 2.INP14 | ||
8 | I15 | Ingresso I15 | 2.INP15 | ||
9 | I16 | Ingresso I16 | 2.INP16 |
Le caratteristiche elettriche sono riportate nel paragrafo Caratteristiche elettriche.
Gli esempi di collegamento sono riportati nel paragrafo Esempi di collegamento
Le caratteristiche elettriche sono riportate nel paragrafo Caratteristiche elettriche.
Gli esempi di collegamento sono riportati nel paragrafo Esempi di collegamento
.
Le caratteristiche elettriche sono riportate nel paragrafo Caratteristiche elettriche.
Gli esempi di collegamento sono riportati nel paragrafo Esempi di collegamento
Inserire i jumper JP3, JP4, JP5 e JP6 per configurare i 4 ingressi analogici.
![]() | Jumper | Stato | Description | Ingresso | |
---|---|---|---|---|---|
Tipo ingresso | JP3-A | INSERITO | Amperometrico 0-20mA | IA1 | |
JP3-B | INSERITO | Voltmetrico 0-5V | |||
JP3-C | INSERITO | Voltmetrico 0-10V | |||
JP3-A JP3-B JP3-C | NON INSERITO | Potenziometrico | |||
Riferimento di tensione | JP3-D | INSERITO | VREF1 = 2.5V | ||
JP3-E | INSERITO | VREF1 = 10,8V | |||
Tipo ingresso | JP4-A | INSERITO | Amperometrico 0-20mA | IA2 | |
JP4-B | INSERITO | Voltmetrico 0-5V | |||
JP4-C | INSERITO | Voltmetrico 0-10V | |||
JP4-A JP4-B JP4-C | NON INSERITO | Potenziometrico | |||
Riferimento di tensione | JP4-D | INSERITO | VREF2 = 2.5V | ||
JP4-E | INSERITO | VREF2 = 10,8V | |||
Tipo ingresso | JP5-A | INSERITO | Amperometrico 0-20mA | IA3 | |
JP5-B | INSERITO | Voltmetrico 0-5V | |||
JP5-C | INSERITO | Voltmetrico 0-10V | |||
JP5-A JP5-B JP5-C | NON INSERITO | Potenziometrico | |||
Riferimento di tensione | JP5-D | INSERITO | VREF3 = 2.5V | ||
JP5-E | INSERITO | VREF3 = 10,8V | |||
Tipo ingresso | JP6-A | INSERITO | Amperometrico 0-20mA | IA4 | |
JP6-B | INSERITO | Voltmetrico 0-5V | |||
JP6-C | INSERITO | Voltmetrico 0-10V | |||
JP6-A JP6-B JP6-C | NON INSERITO | Potenziometrico | |||
Riferimento di tensione | JP6-D | INSERITO | VREF4 = 2.5V | ||
JP6-E | INSERITO | VREF4 = 10,8V |
CN5 | Morsetto | Simbolo | Description | Address |
---|---|---|---|---|
![]() | 1 | +DC | Ingresso positivo tensione bus DC | |
2 | -DC | Ingresso negativo tensione bus DC | ||
3 | M1+ | Uscita Motore 1 | 2.AN01 | |
4 | M1- | |||
5 | M2+ | Uscita Motore 2 | 2.AN02 | |
6 | M2- | |||
7 | M3+ | Uscita Motore 3 | 2.AN03 | |
8 | M3- | |||
9 | M4+ | Uscita Motore 4 | 2.AN04 | |
10 | M4- |
Di seguito sono riportate le caratteristiche elettriche hardware.
Il connettore USB mini-B non supporta gli standard elettrici USB, deve essere utilizzato solamente mediante una interfaccia IQ009 o IQ013.
Utilizzata per il trasferimento e il debugging del programma applicativo nella CPU.
Standard elettrico | TTL (Usare l'interfaccia seriale IQ009 o IQ013) |
---|---|
Velocità di comunicazione | Min. 9,6 Kbaud - max 115200 Kbaud settabile tramite i dip1 e 2 dello switch SW1 |
Isolamento | Nessuno |
.
![]() | ![]() | ![]() |
Collegamento tra Qmove+ e PC, con l'ausilio dell'accessorio IQ009 |
.
![]() | ![]() | ![]() |
Collegamento tra Qmove+ e un dispositivo dotato di seriale RS232 (per esempio un MODEM), con l'ausilio dell'interfaccia IQ013 |
Velocità di comunicazione | 4800, 9600, 19200, 38400, 57600, 115200 baud |
---|---|
Modalità di comunicazione | Full duplex |
Modo di funzionamento | Riferito a 0V |
Max. numero di dispositivi connessi sulla linea | 1 |
Max. lunghezza cavi | 15 m |
Impedenza d'ingresso | > 3 Kohm |
Limite corrente cortocircuito | 7 mA |
Velocità di comunicazione | 4800, 9600, 19200, 38400, 57600, 115200 baud |
---|---|
Modalità di comunicazione | Full duplex |
Modo di funzionamento | Differenziale |
Max. numero di dispositivi connessi sulla linea | 1 |
Max. lunghezza cavi | 1200 m |
Impedenza d'ingresso | > 12 Kohm |
Limite corrente cortocircuito | 35 mA |
Per attivare la resistenza di terminazione interna vedere paragrafo Settaggio standard elettrico USER PORT, Settaggio standard elettrico AUX1 PORT o Settaggio resistenze di polarizzazione e terminazione AUX2 PORT
.
Velocità di comunicazione | 4800 baud (solo se utilizzata con device SERCOM e/o MODBUS), 9600 baud, 19200 baud, 38400 baud, 57600 baud |
---|---|
Modalità di comunicazione | Half duplex |
Modo di funzionamento | Differenziale |
Max. numero di dispositivi connessi sulla linea | 32 |
Max. lunghezza cavi | 1200 m |
Impedenza d'ingresso | > 12 Kohm |
Limite corrente cortocircuito | 35 mA |
Per attivare la resistenza di terminazione interna vedere paragrafo Settaggio resistenze di terminazione
.
Velocità di comunicazione | 125, 250, 500, 1000 Kbit/s |
---|---|
Max. numero Driver/Receiver sulla linea | 100 |
Max. lunghezza cavi | 500m @ 125Kbit/s, 250m @ 250Kbit/s, 100m @ 500Kbit/s, 25m @ 1000Kbit/s |
Impedenza d'ingresso | >15Kohm |
Limite corrente cortocircuito | 45mA |
Esempio di collegamento CAN BUS.
Attenzione: chiudere i DIP JP1 e JP2 ed inserire le resistenze di terminazione (RL, RH) sull'ultimo dispositivo della catena.
Tipo Memory Card da utilizzare | MMC, SD e SDHC fino a 8GB Per un corretto funzionamento è necessario che il dispositivo sia conforme agli standard definiti da “SD Association” (www.sdcard.org) oppure da “Multi Media Card Association” (www.mmca.org). |
Per essere utilizzate le Memory Card devono essere preventivamente formattate con file system FAT16 o FAT32.
Tipo | Sinking (PNP) |
Tempo min. di acquisizione (hardware) | 3ms |
Tensione di funzionamento nominale | 12÷24Vdc |
Tensione stato logico 0 | 0÷2 V |
Tensione stato logico 1 | 10,5 ÷ 26,5 V |
Corrente assorbita | 2mA@10.5V / 8mA@26.5V |
Connection type | Amperometric (0-20 mA) |
Resolution | 12bit/16bit1) |
Input resistance | 125Ω |
Value of damage | 25 mA |
Max. Linearity error | + 0,1% Vfs |
Max. Offset error | + 0,1% Vfs |
S.n. | 71 dB |
Conversion time | It depends on the configuration of the analog input. See section Conversion times if present 2) |
Isolation | 1000 Vrms |
Connection type | Potentiometric 1KΩ÷20KΩ |
Resolution | 12bit/16bit1) |
Reference voltage output | 2,5Vdc |
Max output current from reference | 10mA |
Input resistance | 10MΩ |
Max. Linearity error | + 0,1% Vfs |
Max. Offset error | + 0,1% Vfs |
S.n. | 71 dB |
Conversion time | It depends on the configuration of the analog input. See section Conversion times if present 2) |
Isolation | 1000 Vrms |
Connection type | Voltmetric 0÷5V |
Resolution | 12bit/16bit1) |
Input resistance (Rin) | 60KΩ |
Value of damage | 20V |
Max. Linearity error | + 0,1% Vfs |
Max. Offset error | + 0,1% Vfs |
S.n. | 71 dB |
Conversion time | It depends on the configuration of the analog input. See section Conversion times if present 2) |
Isolation | 1000 Vrms |
Connection type | Voltmetrico 0÷10V |
Resolution | 12bit/16bit1) |
Input resistance (Rin) | 40KΩ |
Value of damage | 20V |
Max. Linearity error | + 0,1% Vfs |
Max. Offset error | + 0,1% Vfs |
S.n. | 71 dB |
Conversion time | It depends on the configuration of the analog input. See section Conversion times if present 2) |
Isolation | 1000 Vrms |
Switchable load | Dc (PNP) |
Max. operating voltage | 28V |
Insulation | 1000Vpp |
Max. internal voltage drop | 600mV |
Max internal resistance @ON | 90mΩ |
Max. protection current | 12A |
Max. operating current | 2A |
Max. current @OFF | 5µA |
Max switching time from ON to OFF | 270µs |
Max switching time from OFF to ON | 250µs |
Isolamento | 1000 Vrms |
Tensione massima di funzionamento | 28Vdc |
Corrente massima di protezione | 5A |
Corrente massima di funzionamento | 1A |
SW1 | Dip | Impostazione dei DIP | Funzione | |||
---|---|---|---|---|---|---|
![]() | 1 | OFF | Baud-rate 57600 | Selezione velocità di trasmissione PROG PORT | ||
ON | Baud-rate 115200 | |||||
2 | OFF | Baud-rate 57600 | Selezione velocità di trasmissione USER PORT | |||
ON | Baud-rate 115200 | |||||
3 | OFF | Utilizzabile anche dai device SERCOM e MODBUS | Selezione modo di funzionamento PROG PORT | |||
ON | Non utilizzabile dai device SERCOM e MODBUS | |||||
4 | OFF | ON | OFF | ON | Velocità di trasmissione CANbus (CanOpen)1) | |
5 | OFF | OFF | ON | ON | ||
Baud-rate 125KB/S | Baud-rate 250KB/S | Baud-rate 500KB/S | Baud-rate 1MB/S |
|||
6 | Non utilizzato |
I led “pow, run, stop, err” sono detti “led di sistema”.
Led | Colore | Stato | Description |
---|---|---|---|
pow | Green | ![]() | Strumento acceso |
![]() | Se è l'unico led acceso, segnala lo stato di reset della CPU | ||
run | Green | ![]() | CPU in stato di RUN |
![]() | CPU in stato di READY | ||
stop | Yellow | ![]() | Se il led pow è acceso, segnala lo stato di STOP della CPU Se il led pow è spento, segnala lo stato di BOOT della CPU |
err | Red | ![]() | Se il led pow è spento, segnala un errore hardware. Vedere paragrafo Codici di errore hardware Se il led pow è acceso, il numero di lampeggi indica il tipo d'errore. Vedere paragrafo Segnalazioni del led err |
N° lampeggi | Errore | Descrizione | Azioni consigliate |
1 | Bus error | Bus non configurato come descritto nell'applicativo. | Verificare la corrispondenza tra la configurazione dell'applicativo QMOVE (sezione BUS della unit di configurazione) e quella del prodotto (schede presenti nel BUS). |
2 | CheckSum Error | Il controllo di integrità sulle variabili ritentive ha dato esito negativo. (Vedi capitolo Reset Error Checksum) | E' necessario ripristinare i dati macchina a partire da un salvataggio (file con estensione DAT) oppure cancellare l'errore con l'apposita funzione di sistema e reintrodurre manualmente i valori. |
3 | Index Out of Bound | Indice di un array è puntato su un elemento inesistente | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
4 | Program Over Range | L'indice di selezione programma all'interno del DATAGROUP ha tentato di accedere ad un programma non esistente. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
5 | Step Over Range | l'indice di selezione del passo all'interno del DATAGROUP ha tentato di accedere ad un passo non esistente. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. In genere il valore utilizzato come indice ha un valore inferiore a 1 oppure superiore alla dimensione dell'array. |
6 | Division By Zero | Il denominatore di un'operazione di divisione del programma applicativo ha valore zero. | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. |
7 | Syntax Error | Il programma applicativo ha un'istruzione non valida | Tale errore potrebbe comparire perchè il program counter ha incontrato l'istruzione QCL END. |
8 | Watch Dog Error | Un modulo CAN non funziona correttamente, oppure una scheda di specializzazione ha un problema hardware | Con l'ambiente di sviluppo Qview è possibile aprire il pannello “Monitor→Bus” e nella colonna di destra chiamata “Watchdog Bus” è indicata la scheda che ha causato il problema. |
9 | Stack Error | Il programma applicativo ha utilizzato tutti i livelli di chiamata a subroutine permessi | Con l'ambiente di sviluppo Qview è possibile aprire l'editor di una unit e con il comando “Edit→Go to PC” viene evidenziata la linea di programma che ha causato l'errore. Analizzare il flusso di esecuzione della unit, gli annidamenti di chiamata delle subroutine hanno un limite, oltre il quale viene generato questo errore. |
Se nella fase di accensione, viene rilevato un malfunzionamento di qualche periferica, il sistema si blocca e viene segnalato l'errore mediante il lampeggio del solo led err mentre tutti gli altri leds di sistema rimangono spenti.
Il numero di lampeggi indica il tipo di errore secondo la seguente tabella:
Numero di lampeggi | Errore |
---|---|
1 | Segnalazione non attiva |
2 | Segnalazione non attiva |
3 | Media |
4 | Bootloader |
5 | FW |
6 | Segnalazione non attiva |
7 | Segnalazione non attiva |
8 | SYS data write |
9 | Exception |
Ognuna di queste segnalazioni indica una situazione di errore grave. Il prodotto deve essere inviato all'assistenza QEM.
I led “L1, L2, L3, L4, LF, A1, A2, A3, A4” sono detti “led utente”
Nome | Description |
---|---|
![]() | Premuto all'accensione dello strumento permette di accedere alle Funzioni di sistema |
![]() | Premuto all'accensione dello strumento permette di impostare la CPU in stato di Boot e quindi di accedere alle funzioni di aggiornamento firmware |
![]() | Reset CPU. Il sistema viene fatto ripartire ripristinando le condizioni iniziali (come dopo una accensione) |
![]() | Utilizzabili nell'applicazione e lo stato è acquisibile tramite variabili presenti nelle risorse della scheda B5-Q10. |
![]() |
In questo capitolo sono raccolte tutte le informazioni relative al prodotto necessarie durante la programmazione, ovvero durante lo sviluppo di un applicativo QCL.
Per la programmazione del prodotto è necessario utilizzare l'ambiente Qview-6 per la programmazione del codice QCL. Tale software è contenuto in un pacchetto software che si chiama Qworkbench e che è liberamente scaricabile dal sito Qem (nella sezione download).
Lo strumento è equipaggiato fisicamente da 3 slot come indicato nel capitolo Conformazione prodotto. Gli slots da 4 a 8 sono comunque dichiarabili e devono venire utilizzati per indirizzare risorse che risiedono nei moduli remoti Canopen.
Un esempio di dichiarazione del BUS da utilizzare nella sezione BUS della unit di configurazione è:
BUS 1 100CF 10 2 B5Q10 . 3 . .
In questo paragrafo vedremo come è possibile rilevare una stima dell'utilizzo delle memorie nel prodotto. La memoria non volatile, disponibile per memorizzare il programma QCL, ha una capacità di 512KB.
La quantità di memoria occupata è pari alla dimensione del file .BIN generato dal Qview. La percentuale di memoria occupata è visualizzabile nel pannello CPU del Qview, alla voce “Used CODE memory”, oppure è possibile ottenere questa informazione dal valore del parametro “sizeapp” del device QMOS.
La memoria dati non volatile, disponibile per memorizzare le variabili ritentive, ha una capacità di 13KB.
La percentuale di memoria occupata è visualizzabile nel pannello CPU del Qview, alla voce “Used RETENTIVE”, oppure è possibile ottenere questa informazione dal valore del parametro “sizeret” del device QMOS.
La memoria dati volatile per memorizzare le variabili non ritentive ha una capacità dipendente da vari fattori (per esempio la dimensione del programma QCL).
Le seriali PROG PORT e USER PORT implementano il protocollo di comunicazione proprietario QEM chiamato BIN1.
I device SERCOM e MODBUS sono utilizzabili con tutte le seriali di comunicazione compresa la PROG PORT. Il valore numerico da utilizzare durante la dichiarazione del device per selezionare il canale di comunicazione è il seguente:
0 PROG PORT 1 USER PORT
Quando i devices SERCOM e MODBUS utilizzano la PROG PORT o la USER PORT essi interessano il canale solo se lo stato di comunicazione del device è aperto (st_opencom = 1). Quando il canale del device viene chiuso (st_opencom = 0) nella seriale ritorna attivo il protocollo BIN1. Se si volesse forzare il protocollo BIN1 sulla porta PROG (ed impedire quindi che il device SERCOM occupi il canale) è necessario attivare il dip 6 di SW1.
Quando si utilizza il protocollo MODBUS RTU con la configurazione elettrica RS485, bisogna fare attenzione al fatto che quando la seriale è in trasmissione lo strumento mantiene attivo il canale (DE) per un tempo superiore a quello stabilito dalla specifica “MODBUS RTU”. Per questo bisogna considerare un tempo minimo di 5 millisecondi dopo i quali sarà possibile ricevere un nuovo messaggio. Anche il device SERCOM quando termina una trasmissione è soggetto al medesimo tempo in cui viene mantenuto il canale attivo (DE).
Vediamo in dettaglio la lista delle limitazioni al linguaggio QCL:
Description | Notes |
---|---|
FSTEP,FPROG | Non è possibile utilizzare queste istruzioni. Di conseguenza viene a mancare la compatibilità diretta con applicativi scritti per CPU livello A. La conversione dell'applicativo risulta comunque semplice. |
Vediamo in dettaglio altre limitazioni:
Description | Notes |
---|---|
Watchpoint | Non disponibili |
Durante il download dell'applicativo Qmove l'ambiente di sviluppo Qpaint-6 può visualizzare alcuni errori non descritti nel manuale dell'ambiente di sviluppo. Tali errori sono particolari e la stringa descrittiva visualizzata dal Qpaint-6 viene generata direttamente dal firmware.
Nella seguente tabella sono descritti i possibili messaggi di errore generati dal firmware.
Possibili messaggi d'errore | Description |
---|---|
Error: SYSTEM + ARRSYS + DATAGROUP + INTDEVICE size overflow by 234bytes. | Compare quando le variabili ritentive superano il valore massimo consentito. |
Error: serial port not avaliable in SERCOM or MODBUS device declaration. | Compare quando Il valore numerico utilizzato durante la dichiarazione del device per selezionare il canale di comunicazione è errato. |
Error: CANOPEN device required if you use more than 4 slots. | Nella definizione del BUS si stanno utilizzando più di 4 slots e quindi l'applicazione richiede l'utilizzo di moduli Canopen. Per questa gestione è necessario dichiarare un device CANOPEN. |
Error: incorrect bus fault mode in CANOPEN declaration. | Nella dichiarazione del device CANOPEN si è indicata una modalità di fault (ultimo valore nella dichiarazione) non supportata. |
Error: incorrect canbus speed in CANOPEN declaration. | Nella dichiarazione del device CANOPEN si è indicata una velocità non valida. |
Error: too much CANOPEN device declaration. | Può essere dichiarato un solo device CANOPEN. |
L'ambiente di sviluppo mette a disposizione una serie di variabili predefinite che possono essere utilizzate precedendo al nome la parola chiave “QMOVE:”. Per esempio “QMOVE:is_suspend”, “QMOVE:sys001”, ecc. Lo scopo del presente paragrafo è illustrare le 16 variabili di sistema chiamate sys001÷sys016 il cui significato dipende dal firmware che si sta utilizzando.
Questa variabile a sola lettura indica lo stato dei pulsanti FUNC (bit 0) e BOOT (bit 1). I valori possibili sono dunque:
0 = nessun pulsante premuto.
1 = pulsante FUNC premuto.
2 = pulsante BOOT premuto.
3 = pulsanti FUNC e BOOT premuti.
Questa variabile permette la lettura dell'immagine del dip-switch SW1. L'immagine viene acquisita solo all'accensione del prodotto. Il bit 0 corrisponde al dip 1 e così via.
Questa variabile permette il comando del led L1-L2-L3-L4. Il bit 0 corrisponde a L1, il bit1 a L2 e così via.
Non utilizzate.
Questa variabile rappresenta lo stato della connessione USB. E' una variabile i cui bit hanno il seguente significato:
bit 0 = port connected bit 1 = device connected is Android Open Accessory bit 2 = tx or rx active (1 per 60msec ogni dato)
Non utilizzate.
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:
Se nella dichiarazione del device CANOPEN viene indicata la velocità zero allora essa diventa impostabile tramite i dip nr. 4 e 5 di SW1.
Il primo slot per indirizzare risorse che risiedono all'interno di moduli Canopen è il 4.
L'ultimo dato indicato nella dichiarazione del device è il fault mode.
Esso può assumere i seguenti valori:
Il numero massimo di slave collegati è 5 (l'ultimo è mappato nello SLOT nr.8).
La lunghezza massima di un SDO è ridotta a 128bytes.
I files manipolati dal device DATASTORE sono tutti contenuti nella cartella /DS. Se questa cartella non esiste nel dispositivo essa viene creata automaticamente.
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.
Il parametro “frwuvalue01” contiene il valore numerico del serial number del prodotto.
Di seguito vengono riportati i simboli presenti nella scheda B5Q10 da utilizzare nel progetto QView per accedere alle risorse della scheda.
Signal name | Type | Access | Size | Description |
---|---|---|---|---|
AI01 | INPUT | RD | WORD | Indirizzo ingressi analogici da utilizzare nella dichiarazione del device (per es ANINP). |
AI02 | INPUT | RD | WORD | |
AI03 | INPUT | RD | WORD | |
AI04 | INPUT | RD | WORD | |
OUT01 | OUTPUT | RDWR | FLAG | Stato uscite digitali. |
OUT02 | OUTPUT | RDWR | FLAG | |
OUT03 | OUTPUT | RDWR | FLAG | |
OUT04 | OUTPUT | RDWR | FLAG | |
OUT05 | OUTPUT | RDWR | FLAG | |
OUT06 | OUTPUT | RDWR | FLAG | |
OUT07 | OUTPUT | RDWR | FLAG | |
OUT08 | OUTPUT | RDWR | FLAG | |
OUT09 | OUTPUT | RDWR | FLAG | |
OUT10 | OUTPUT | RDWR | FLAG | |
OUT11 | OUTPUT | RDWR | FLAG | |
OUT12 | OUTPUT | RDWR | FLAG | |
OUT13 | OUTPUT | RDWR | FLAG | |
OUT14 | OUTPUT | RDWR | FLAG | |
OUT15 | OUTPUT | RDWR | FLAG | |
OUT16 | OUTPUT | RDWR | FLAG | |
LEDA1G | OUTPUT | RDWR | FLAG | Stato led utente A1 verde. |
LEDA1R | OUTPUT | RDWR | FLAG | Stato led utente A1 rosso. |
LEDA2G | OUTPUT | RDWR | FLAG | Stato led utente A2 verde. |
LEDA2R | OUTPUT | RDWR | FLAG | Stato led utente A2 rosso. |
LEDA3G | OUTPUT | RDWR | FLAG | Stato led utente A3 verde. |
LEDA3R | OUTPUT | RDWR | FLAG | Stato led utente A3 rosso. |
LEDA4G | OUTPUT | RDWR | FLAG | Stato led utente A4 verde. |
LEDA4R | OUTPUT | RDWR | FLAG | Stato led utente A4 rosso. |
DISPA | OUTPUT | RDWR | FLAG | Stato dei segmenti A÷F del led utente DS1. |
DISPB | OUTPUT | RDWR | FLAG | |
DISPC | OUTPUT | RDWR | FLAG | |
DISPD | OUTPUT | RDWR | FLAG | |
DISPE | OUTPUT | RDWR | FLAG | |
DISPF | OUTPUT | RDWR | FLAG | |
DISPG | OUTPUT | RDWR | FLAG | |
LEDLF | OUTPUT | RDWR | FLAG | Stato led utente LF. |
OUTB1 | OUTPUT | RDWR | BYTE | Stato a byte delle uscite digitali. |
OUTB2 | OUTPUT | RDWR | BYTE | |
OUTB3 | OUTPUT | RDWR | BYTE | |
OUTB4 | OUTPUT | RDWR | BYTE | |
OUTDIS | OUTPUT | RDWR | BYTE | Stato a byte per rappresentare gli stati dei segmenti A÷F del led utente DS1 e lo stato del led LF. |
OUTW1 | OUTPUT | RDWR | WORD | Stato a word delle uscite digitali. |
OUTW2 | OUTPUT | RDWR | WORD | |
OUTL | OUTPUT | RDWR | LONG | Stato a long delle uscite digitali. |
ENA01 | OUTPUT | RDWR | FLAG | Abilitazione potenza nelle uscite motore 1÷4 |
ENA02 | OUTPUT | RDWR | FLAG | |
ENA03 | OUTPUT | RDWR | FLAG | |
ENA04 | OUTPUT | RDWR | FLAG | |
CMDS | OUTPUT | RDWR | BYTE | Valore a byte delle abilitazioni potenza nelle uscite motore 1÷4. |
DMODE01 | OUTPUT | RDWR | FLAG | Se tali impostazioni hanno valore 1 allora ad ogni impostazione del valore zero nel DAC (simbolo AN0x), viene generato un impulso all'uscita DAC al valore -32768 per un tempo pari al valore impostato in DTIME (in msec). |
DMODE02 | OUTPUT | RDWR | FLAG | |
DMODE03 | OUTPUT | RDWR | FLAG | |
DMODE04 | OUTPUT | RDWR | FLAG | |
DMODEB | OUTPUT | RDWR | BYTE | E' la rappresentazione a byte dei 4 valori DMODE01÷04. |
DTIME | OUTPUT | RDWR | BYTE | Tempo dell'impulso all'uscita DAC. Vedere la descrizione di DMODE0x. |
TCANENA | OUTPUT | RDWR | FLAG | Abilitazone comunicazione TCAN. Impostando 1 viene abilitata la comunicazione TCAN. Non deve essere presente nell'applicativo il device CANOPEN altrimenti questa variabile torna automaticamente a zero. Se comparissero errori di comunicazione riportare a zero e poi a uno tale variabile la periferica canbus viene reinizializzata. |
TCANERR | OUTPUT | RDWR | FLAG | Indica che vi sono errori di comunicazione. Se tale variabile viene portata al valore 1 poi ci rimane e deve essere resettata da QCL scrivendo il valore zero. Tale segnalazione può essere usata per generare un warning. Se azzerando la variabile essa ritorna a uno allora è necessario reinizializare la periferica canbus (con il simbolo TCANENA posto a zero e poi ripristinato a 1). |
TCANIDB0 | OUTPUT | RDWR | FLAG | Assieme al simbolo TCANIDB1 permette di definire l'indirizzo TCAN. Tale valore va da zero a 3. Il valore va espesso considerando che TCANIDB0 è il bit meno significativo e TCANIDB1 è il più significativo. |
TCANIDB1 | OUTPUT | RDWR | FLAG | |
TCANWEN | OUTPUT | RDWR | FLAG | Abilita i messaggi in scrittura. |
TCANO1W1 | OUTPUT | RDWR | WORD | Messaggio TCAN nr.1 in scrittura verso le altre stazioni. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANO1W2 | OUTPUT | RDWR | WORD | |
TCANO1W3 | OUTPUT | RDWR | WORD | |
TCANO1W4 | OUTPUT | RDWR | WORD | |
TCANO1L1 | OUTPUT | RDWR | LONG | |
TCANO1L2 | OUTPUT | RDWR | LONG | |
TCANO2W1 | OUTPUT | RDWR | WORD | Messaggio TCAN nr.2 in scrittura verso le altre stazioni. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANO2W2 | OUTPUT | RDWR | WORD | |
TCANO2W3 | OUTPUT | RDWR | WORD | |
TCANO2W4 | OUTPUT | RDWR | WORD | |
TCANO2L1 | OUTPUT | RDWR | LONG | |
TCANO2L2 | OUTPUT | RDWR | LONG | |
TCANI1W1ID0 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID zero. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI1W2ID0 | INPUT | RD | WORD | |
TCANI1W3ID0 | INPUT | RD | WORD | |
TCANI1W4ID0 | INPUT | RD | WORD | |
TCANI1L1ID0 | INPUT | RD | LONG | |
TCANI1L2ID0 | INPUT | RD | LONG | |
TCANI2W1ID0 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID zero. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI2W2ID0 | INPUT | RD | WORD | |
TCANI2W3ID0 | INPUT | RD | WORD | |
TCANI2W4ID0 | INPUT | RD | WORD | |
TCANI2L1ID0 | INPUT | RD | LONG | |
TCANI2L2ID0 | INPUT | RD | LONG | |
TCANI1W1ID1 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 1. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI1W2ID1 | INPUT | RD | WORD | |
TCANI1W3ID1 | INPUT | RD | WORD | |
TCANI1W4ID1 | INPUT | RD | WORD | |
TCANI1L1ID1 | INPUT | RD | LONG | |
TCANI1L2ID1 | INPUT | RD | LONG | |
TCANI2W1ID1 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 1. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI2W2ID1 | INPUT | RD | WORD | |
TCANI2W3ID1 | INPUT | RD | WORD | |
TCANI2W4ID1 | INPUT | RD | WORD | |
TCANI2L1ID1 | INPUT | RD | LONG | |
TCANI2L2ID1 | INPUT | RD | LONG | |
TCANI1W1ID2 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 2. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI1W2ID2 | INPUT | RD | WORD | |
TCANI1W3ID2 | INPUT | RD | WORD | |
TCANI1W4ID2 | INPUT | RD | WORD | |
TCANI1L1ID2 | INPUT | RD | LONG | |
TCANI1L2ID2 | INPUT | RD | LONG | |
TCANI2W1ID2 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 2. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI2W2ID2 | INPUT | RD | WORD | |
TCANI2W3ID2 | INPUT | RD | WORD | |
TCANI2W4ID2 | INPUT | RD | WORD | |
TCANI2L1ID2 | INPUT | RD | LONG | |
TCANI2L2ID2 | INPUT | RD | LONG | |
TCANI1W1ID3 | INPUT | RD | WORD | Messaggio nr 1 TCAN in lettura proveniente dalla stazione con ID 3. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI1W2ID3 | INPUT | RD | WORD | |
TCANI1W3ID3 | INPUT | RD | WORD | |
TCANI1W4ID3 | INPUT | RD | WORD | |
TCANI1L1ID3 | INPUT | RD | LONG | |
TCANI1L2ID3 | INPUT | RD | LONG | |
TCANI2W1ID3 | INPUT | RD | WORD | Messaggio nr 2 TCAN in lettura proveniente dalla stazione con ID 3. E' un messaggio da 8 bytes e vi sono sia i parametri per la rappresenrazione a word che per la rappresentazione a long. |
TCANI2W2ID3 | INPUT | RD | WORD | |
TCANI2W3ID3 | INPUT | RD | WORD | |
TCANI2W4ID3 | INPUT | RD | WORD | |
TCANI2L1ID3 | INPUT | RD | LONG | |
TCANI2L2ID3 | INPUT | RD | LONG | |
INP01 | INPUT | RD | FLAG | Stato degli ingressi digitali da 1÷20. |
INP02 | INPUT | RD | FLAG | |
INP03 | INPUT | RD | FLAG | |
INP04 | INPUT | RD | FLAG | |
INP05 | INPUT | RD | FLAG | |
INP06 | INPUT | RD | FLAG | |
INP07 | INPUT | RD | FLAG | |
INP08 | INPUT | RD | FLAG | |
INP09 | INPUT | RD | FLAG | |
INP10 | INPUT | RD | FLAG | |
INP11 | INPUT | RD | FLAG | |
INP12 | INPUT | RD | FLAG | |
INP13 | INPUT | RD | FLAG | |
INP14 | INPUT | RD | FLAG | |
INP15 | INPUT | RD | FLAG | |
INP16 | INPUT | RD | FLAG | |
INP17 | INPUT | RD | FLAG | |
INP18 | INPUT | RD | FLAG | |
INP19 | INPUT | RD | FLAG | |
INP20 | INPUT | RD | FLAG | |
FLT01 | INPUT | RD | FLAG | Stato di fault dell'uscita motore 1÷4. |
FLT02 | INPUT | RD | FLAG | |
FLT03 | INPUT | RD | FLAG | |
FLT04 | INPUT | RD | FLAG | |
STATUS | INPUT | RD | BYTE | Valore a byte dei fault dell'uscita motore. |
BUTTON1 | INPUT | RD | FLAG | Stato del pulsante utente P1. |
BUTTON2 | INPUT | RD | FLAG | Stato del pulsante utente P2. |
INPB1 | INPUT | RD | BYTE | Stato a byte degli ingressi digitali. |
INPB2 | INPUT | RD | BYTE | |
INPB3 | INPUT | RD | BYTE | |
INPB4 | INPUT | RD | BYTE | |
INPB5 | INPUT | RD | BYTE | |
INPW1 | INPUT | RD | WORD | Stato a word degli ingressi digitali. |
INPW2 | INPUT | RD | WORD | |
INPL | INPUT | RD | LONG | Stato a long degli ingressi digitali. |
AN01 | DAC | WR | WORD | Indirizzo della periferica DAC per il controllo della potenza all'uscita motore 1÷4. Da utilizzare nella dichiarazione del device. |
AN02 | DAC | WR | WORD | |
AN03 | DAC | WR | WORD | |
AN04 | DAC | WR | WORD | |
CNT01 | COUNT | RD | WORD | Indirizzo del contatore bidirezione nr.1 da utilizzare nella dichiarazione del device. |
CNT02 | COUNT | RD | WORD | Indirizzo del contatore bidirezione nr.2 da utilizzare nella dichiarazione del device. |