Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Utilizzare il Pierin con MatLab/SimuLink

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[21] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteTardoFreak » 8 giu 2014, 22:45

Ma così non avrebbe neanche un minimo di feedback per sapere se il comando è stato almeno ... ascoltato.
Ripeto, non sono esperto di queste cose quindi ... boh?

Ovviamente fare e basta, indipendentemente che le cose vadano a buon fine o meno mi renderebbe la vita più semplice.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[22] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteDirtyDeeds » 8 giu 2014, 23:05

TardoFreak ha scritto:Ma così non avrebbe neanche un minimo di feedback per sapere se il comando è stato almeno ... ascoltato.


Ni, nel senso che chi fosse interessato a sapere se è stato ascoltato potrebbe fare una lettura di un opportuno registro di stato (e a tale richiesta ovviamente il micro dovrebbe rispondere).
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[23] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteTardoFreak » 8 giu 2014, 23:09

Grazie per il suggerimento. :ok:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

3
voti

[24] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteDirtyDeeds » 8 giu 2014, 23:13

Dai anche un'occhiata al linguaggio SCPI che è quello comunemente impiegato per comunicare con gli strumenti, magari ti dà qualche spunto utile.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

1
voti

[25] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtentePaolino » 10 giu 2014, 9:17

Direi che oltre a Matlab e Mathematica, interessante sarebbe implementare qualcosa anche per SCILAB.
Parliamone.

Ciao.

Paolo.

P.S. Grande Foto UtenteTardoFreak! :ok:
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

6
voti

[26] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtentePietroBaima » 11 giu 2014, 18:04

Dunque...
ho fatto un piccolo package Mathematica per utilizzare il Pierin PIC18 all'interno di Mathematica.

Potete scaricarlo qui:

PierinPIC18-Package.rar
(903 Byte) Scaricato 104 volte


questo package non ha licenza.
Diciamo che è un regalo di buona fortuna per il mio amico Foto UtenteTardoFreak e per coloro i quali ha a cuore.

Potete:
  • scaricarlo
  • usarlo
  • modificarlo
  • spacciarlo per vostro
  • venderlo e farci i soldi (non credo)
  • stamparlo e farci un aeroplanino di carta

Insomma fateci cosa vi pare.
Ahhh, il package è as is, quindi, sebbene io programmi molto male, se vi esplode il PC non è comunque colpa mia.

Cosa c'è al suo interno:

Il package contiene 5 funzioni (so far):

PierinOpen
Serve per aprire una porta seriale di comunicazione col Pierin.
Usatelo così:
ser=PierinOpen[porta]

dove porta è la seriale che intendo aprire.
ser è il delegato, in pratica è equivalente al vecchio fp nella istruzione fp=fopen del C.
ser vi servirà ogni volta che vorrete riferirvi a quella porta seriale.
Questo modo di operare è molto utile nel caso abbiate 2 o più PierinPIC18, potete infatti scrivere:
ser1=PierinOpen["COM1"]
ser2=PierinOpen["COM2"]
ser3=PierinOpen["COM3"]
e dialogare con 3 Pierin tutti insieme.

PierinClose
Serve per chiudere la comunicazione col Pierin.
Dovete chiudere la seriale quando finite di lavorarci, altrimenti il SO non rilascerà la risorsa e la porta
diventerà inutilizzabile finché non la chiuderete.
Usatelo così:
PierinClose[ser]
dove ser è il delegato rilasciato dalla PierinOpen.

PierinWrite
Serve per mandare una stringa al Pierin, per esempio un comando.
Usatelo così:
PierinWrite[ser,stringa]
dove ser è il delegato rilasciato dalla PierinOpen
Esempio:
PierinWrite[ser,"Hello PierinPIC18"]

PierinRead
Serve per leggere una stringa dal Pierin, per esempio la risposta ad un comando, svuotando il buffer accumulato.
Usatelo così:
stringa=PierinRead[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
risposta=PierinRead[ser]

PierinBufferBytes
Serve per sapere quanto è lungo il buffer, in pratica quanti caratteri ha inviato il Pierin al PC.
Usatelo così:
intero=PierinBufferBytes[ser]
dove ser è il delegato rilasciato dalla PierinOpen.
Esempio:
buffer=PierinBufferBytes[ser]

__________________________________________________________________________________________
Vediamo un esempio di come farlo funzionare in Mathematica.

Come prima cosa dovete dire a Mathematica che intendete usare il pacchetto.
Mathematica cerca i pacchetti nel suo path e se non li trova vi da ovviamente errore.
Molti manuali di mathematica suggeriscono quindi di copiare il file dentro la cartella Extensions di Mathematica, cioè dove Mathematica ha un certo numero di (bei) pacchetti di espansione.
Io non vi consiglio di fare così, ma di aggiungere un percorso al path che punti ad una vostra cartella dove conservate tutti i vostri pacchetti.
usiamo quindi il comando:

AppendTo[$Path, "C:\\Users\\Pietro\\packages"];
Per aggiungere il vostro percorso al path di Mathematica.
Notate l'uso del doppio backslash \ come separatore di cartella .
Fate attenzione che Mathematica è case sensitive, sia nel nome dei comandi sia nel nome delle cartelle che formano il percorso.

Poi richiamiamo il pacchetto con il comando:

<< "PierinPIC18`"

possiamo quindi aprire la seriale con:

ser1 = PierinOpen["COM1"]

Non è detto che il vostro Pierin sia sulla COM1.
In windows potete vedere su quale COM è finito il Pierin andando su System e poi su Device Manager e guardare le COM presenti su Ports: COM & LPT.

mandiamo quindi un messaggio al Pierin con:

PierinWrite[ser1, "Hello PierinPIC18!"]

Se il Pierin è stato programmato con il programma fornito a corredo dell'articolo di Foto UtenteTardoFreak, vi restituirà indietro quanto ricevuto, quindi nel buffer dovrebbero esserci 18 caratteri. Possiamo verificarlo digitando:

PierinBufferBytes[ser1]

che dovrebbe restituire 18.

Leggiamoli con:
PierinRead[ser1]

Chiudiamo quindi la porta con:
PierinClose[ser1]

Per utilizzare il pacchetto dovete installare .NET sul vostro PC.

Se volete approfondire pacchetti ed estensioni di Mathematica andate a questo link, ci sono un bel po' di manuali. Potete comprarli su carta o scaricarli gratis come pdf.
Se invece volete imparare i fondamenti di Mathematica vi consiglio il sacro testo

Stephen Wolfram The MATHEMATICA Book Wolfram Media ISBN: 1-57955-004-5

oppure se non volete spendere e volete un testo introduttivo potete scaricarvi gratis e legalmente questo libro, messo a disposizione dalla McGraw. E' un testo vecchio, ma per cominciare va bene.

Se invece vi piace MATLAB e volete collegargli Mathematica (e magari il mio package e il Pierin) potete scaricare il buon vecchio MATLink.

Segnalatemi errori e amenità varie!

Ciao da Pietro.

PS: ecco il codice del programma di esempio:
Codice: Seleziona tutto
AppendTo[$Path, "C:\\Users\\Pietro\\packages"];
<< "PierinPIC18`"
ser1 = PierinOpen["COM1"]
PierinWrite[ser1, "Hello PierinPIC18!"]
PierinBufferBytes[ser1]
PierinRead[ser1]
PierinBufferBytes[ser1]
PierinClose[ser1]


EDIT: dimenticavo. Se non vi ricordate la sintassi di un comando potete usare il punto interrogativo.
Per esempio:

? PierinWrite

restituisce

Codice: Seleziona tutto
Sends a string on the serial port. Usage: PierinWrite[Delegate,String] Example: PierinWrite[ser,"Hello PierinPIC18"]
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[27] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteTardoFreak » 11 giu 2014, 19:03

Con il tuo permesso lo metterei nell' area download del sito del Pierin.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[28] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtentePietroBaima » 11 giu 2014, 19:25

TardoFreak ha scritto:Con il tuo permesso lo metterei nell' area download del sito del Pierin.

PietroBaima ha scritto:Insomma fateci cosa vi pare.


;-)
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

1
voti

[29] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtenteTardoFreak » 11 giu 2014, 19:33

Bene!
Ora è disponibile anche a QUESTO LINK :ok:

Edit:
Tra l' altro ho dovuto modificare il progetto per la seriale virtuale. C' erano ancora riferimenti al framework di Microchip. ||O
Alla fine ho buttato tutto dentro un unica cartella e l' ho provato su una macchina virtuale ... intonsa. :mrgreen:

Ora pare che funzioni.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[30] Re: Utilizzare il Pierin con MatLab/SimuLink

Messaggioda Foto UtentePietroBaima » 11 giu 2014, 19:40

Per provare il package ho programmato il pierin usando l'hex.
Devo riprogrammarlo?
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12207
Iscritto il: 12 ago 2012, 1:20
Località: Londra

PrecedenteProssimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti