Vai al contenuto
PLC Forum


Rabbit (Progetto on-line)


Gabriele Riva

Messaggi consigliati


  • Risposte 400
  • Created
  • Ultima risposta

Top Posters In This Topic

  • walterword

    154

  • dlgcom

    85

  • Livio Orsini

    46

  • ifachsoftware

    36

Io avrei intenzione di utilizzarlo per controllare temperatura e umidità in processi alimentari (quindi anche utilizzare diversi I/O ) per poi collegarli in una rete tra loro (RS485) per acquisire i vari dati di lavoro da PC (progetto SCADA)

A fine Gennaio (se riesco a mantenere i tempi ch mi sono dato) nel progetto SCADA presento un esempio in cui il PC interfaccia direttamente moduli di acquisizione analogica (oltre ad uscite analogiche e I/O di punto). I moduli sono di normale produzione di una azienda specializzata.

Link al commento
Condividi su altri siti

Direi benissimo con la vostra collaborazione potrò accrescere il mio bagaglio informativo personale e spero di dare una mano anchio sulle poche cose che sò.

Ho contattato la Comprel per la scheda di sviluppo così potrò fare alcune prove.

Grazie ancora :)

Link al commento
Condividi su altri siti

ifachsoftware

Allego il codice con la gestione in I2C del PCF8574A (8 uscite o Ingressi o misto in I2C)

/* IFACH Software - Calpe , Costa Blanca
   -------------------------------------

   Program name : ProvaRS232.C
   Last Update  : 04/Jan/2004
   Language ... : Dynamic C SE   
   Edit by .... : Claudio Rossi ... Rouge
                  (I love when a software comes together !)
   Features ... : Test Uscite RCM3010                               
                  07/Sep/2003 Versione con Out funzionanti (Finalmente !)
                  30/Dec/2003 Prova Seriale
                  02/Jan/2004 Versione con capito il Fronte con i costate
                              + gestita ricezione seriale
                  04/Jan/2004 Prove con I2C funzionante
                              (collegare a massa i tre bit degli indirizzi del PCF8574A)
*/

//#use rcm3000.lib      // Libreria da includere per gestire la seriale
#use i2c.lib

#class auto             // Place local variables on the stack.

/*
   Port    Function         I/O  I/O State
   ====    =============================  ======    ===========================================
   PA0    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA1    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA2    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA3    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA4    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA5    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA6    Configurable external I/O bus  Output    High when not driven by I/O bus
   PA7    Configurable external I/O bus  Output    High when not driven by I/O bus
   PB0    Not used         Input  Pulled-up on core
   PB1    Not used         Input  Pulled-up on core
   PB2    Configurable external I/O bus  Input  Pulled-up on core when not driven by I/O bus
   PB3    Configurable external I/O bus  Input  Pulled-up on core when not driven by I/O bus
   PB4    Configurable external I/O bus  Input  Pulled-up on core when not driven by I/O bus
   PB5    Configurable external I/O bus  Input  Pulled-up on core when not driven by I/O bus
   PB6    Not used         Output    High when not driven by I/O bus
   PB7    Not used         Output    High when not driven by I/O bus
   PC0    Not used         Output    High
   PC1    Not used         Input  Pulled-up on core
   PC2    TXC          Output    High when not driven by RS232 
   PC3    RXC          Input  Pulled-up on core when not driven by RS232
   PC4    TXB          Output    High when not driven by RS232
   PC5    RXB          Input  Pulled-up on core when not driven by RS232
   PC6    TXA          Output    High when not driven
   PC7    RXA          Input  Pulled-up on core when not driven 
   PD0    Realtek RSTDRV       Output    High when not driven by ethernet
   PD1    Not used         Input  Pulled-up on core
   PD2    Not used (jumper not installed)    Output    High 
   PD3    Not used (jumper not installed)    Output    High 
   PD4    Not used         Output    High
   PD5    Not used         Input  Pulled-up on protoboard
   PD6    Not used (jumper not installed)    Output    High  SCL
   PD7    Not used (jumper not installed)    Output    High  SDA
   PE0    Not used (jumper not installed)    Output    High
   PE1    Not used         Output    High
   PE2    Realtek  AEN       Output    High when not driven by ethernet
   PE3    LCD device select      Output    Low
   PE4    Infrared device speed select  Output    Low
   PE5    Not used         Output    High
   PE6    External I/O Strobe     Output    High when not driven by LCD/Keypad
   PE7    Not used         Output    High
   PF1    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF2    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF3    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF4    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF5    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF6    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PF7    Not used - future Motor/Encoder    Input  Pulled-up on protoboard
   PG0    Switch S3 (normally open)   Input  Pulled-up on protoboard    (PULSANTE 1)
   PG1    Switch S2 (normally open)   Input  Pulled-up on protoboard    (PULSANTE 2)
   PG2    TXF          Output    Pulled-down when not driven by infrared
   PG3    RXF          Input  Driven by infrared driver  (LED3)
   PG4    Infrared device MD1     Input  Pulled-up on protoboard
   PG5    Infrared device MD0     Input  Pulled-down on protoboard
   PG6    LED LED1         Output    High                       (LED1)
   PG7    LED LED2         Output    High                       (LED2)        
*/

nodebug 
void MyBrdInit()
{
    // configure Port A
    // use SPCR to enable and disable external I/O data bus

    WrPortI(PADR, &PADRShadow, 0xFF);          // set to output all high
    WrPortI(SPCR, &SPCRShadow, 0x84);          // ignore SMODE pins, set to output
    
    // configure Port B
    // use SPCR to enable and disable external I/O address bus

    WrPortI(PBDR, &PBDRShadow, 0xC0);          // set bits 7,6 to output high
                      // bits 5-0 are normally inputs  
    
    // configure Port C
    // serial port A communicates with Dynamic C
    // using serXopen in application code will configure serial ports B and C automatically
    // so configuration not needed here

    WrPortI(PCDR, &PCDRShadow, PCDRShadow|0x15);  // set bits 4,2,0 high
    WrPortI(PCFR, &PCFRShadow, PCFRShadow&0xEA);  // clear bit 4,2,0 to normal function
                 // bits 5,3,1 normally inputs

    // configure Port D
    // using ethernet applications will automatically configure bit 0 for strobe
    // so not configured here

    WrPortI(PDCR , &PDCRShadow , PDCRShadow&0x00);    // clear all bits to pclk/2
    WrPortI(PDFR , &PDFRShadow , PDCRShadow&0x00);    // clear all bits to normal function
    WrPortI(PDDCR, &PDDCRShadow, PDDCRShadow&0x2D);    // clear bits 7,6,4,3,2,0 drive high and low
    WrPortI(PDDR , &PDDRShadow , PDDRShadow|0xDD);    // set bits 7,6,4,3,2,0 output high
    WrPortI(PDDDR, &PDDDRShadow, PDDDRShadow|0xDD);    // set bits 7,6,4,3,2,0 to output
    WrPortI(PDDDR, &PDDDRShadow, PDDDRShadow&0xDD);    // clear bits 5,1 to input

    // configure Port E
    // using LCD/Keypad applications will automatically configure bit 6 for external I/O strobe
    // so not configured here
    // using ethernet applications will automatically configure port bit 2 for strobe
    // so not configured here

    WrPortI(PECR, &PECRShadow, PECRShadow&0x00);  // clear all bits to pclk/2
    WrPortI(PEFR, &PEFRShadow, PECRShadow&0x00);  // clear all bits to normal function
    WrPortI(PEDR, &PEDRShadow, 0xE7);     // set bits 7,6,5,2,1,0 output high and
                 // set bits 4,3 output low
    WrPortI(PEDDR, &PEDDRShadow, PEDDRShadow|0xFB);    // set bits 7,6,5,4,3,2,1,0 to output

    // configure Port F
    // originally for motor/encoders but for anything here

    WrPortI(PFCR, &PFCRShadow, 0x00);     // clear all bits for pclk/2
    WrPortI(PFFR, &PFFRShadow, 0x00);     // clear all bits for normal function
    //WrPortI(PFDCR, &PFDCRShadow, ???);    // future bit drive output
    //WrPortI(PFDR, &PFDRShadow, ???);     // future bit output
    WrPortI(PFDDR, &PFDDRShadow, 0x00);     // clear all bits to input

    // configure Port G
    // infrared device sample program will configure serial port F
/*
    WrPortI(PGCR , &PGCRShadow , 0x00);     // clear all bits for pclk/2
    WrPortI(PGFR , &PGFRShadow , 0x00);     // clear all bits for normal function
    WrPortI(PGDCR, &PGDCRShadow, PGDCRShadow|0xC0);    // set bits 7,6 drive open drain
    WrPortI(PGDR , &PGDRShadow , PGDCRShadow|0xC0);    // set bit 7,6 output high
    BitWrPortI(PGDCR, &PGDCRShadow, 0, 2);    // clear bit 2 drive output
    BitWrPortI(PGDR , &PGDRShadow , 0, 2);    // clear bit 2 output low
    WrPortI(PGDDR   , &PGDDRShadow, 0xC4);    // set bits 7,6,2 to output and
                                                 // clear bits 5,4,3,1,0 to input

   PG0    Switch S3 (normally open)   Input  Pulled-up on protoboard    (PULSANTE 1) A
   PG1    Switch S2 (normally open   Input  Pulled-up on protoboard    (PULSANTE 2) B
   PG2    TXF          Output    Pulled-down when not driven by infrared
   PG3    RXF          Input  Driven by infrared driver  (LED3)
   PG4    Infrared device MD1     Input  Pulled-up on protoboard
   PG5    Infrared device MD0     Input  Pulled-down on protoboard
   PG6    LED LED1         Output    High                       (LED1)
   PG7    LED LED2         Output    High                       (LED2)    

*/

    WrPortI(PGCR , &PGCRShadow , 0x00);     // clear all bits for pclk/2
    WrPortI(PGFR , &PGFRShadow , 0x00);     // clear all bits for normal function
    WrPortI(PGDCR, &PGDCRShadow, 0xC8);           // Out 3,7,6 open drain
    WrPortI(PGDR , &PGDRShadow , PGDCRShadow|0xC8);    // set bit 3,7,6 output high
    WrPortI(PGDDR, &PGDDRShadow, 0xC8);     // 3,7,6 = Uscite gli altri = Input                                                
}

// Definizioni costanti

#define LED1 6         // LED 1 port G bit 6
#define LED2 7         // LED 2 port G bit 7
#define LED3 3         // LED 3 port G bit 3

#define PULS1  0      // SWITCH 2 port G bit 0
#define PULS2  1      // SWITCH 1 port G bit 1

#define BINBUFSIZE  15   // Dimensione Rx Buffer RS232 Port B
#define BOUTBUFSIZE 15   // Dimensione Tx Buffer RS232 Port B

#define I2CSCLBit 6      // PA6 = SCL
#define I2CSDABit 7      // PA7 = SDA

void LedGOn(int led)
{
    BitWrPortI(PGDR, &PGDRShadow, 0, led);
}

void LedGOff(int led)
{
    BitWrPortI(PGDR, &PGDRShadow, 1, led);    
}

cofunc flashled[2](int led, int ontime, int offtime)
{
    LedGOn(led);
    waitfor(DelayMs(ontime));
    LedGOff(led);
    waitfor(DelayMs(offtime));
}

// Gestione PCF8574AP *********

int Wr_PCF8574A(unsigned char Address,unsigned char InOut,unsigned char StatoUscite)
{
   auto short int err;

   // Blocca la trasmissione
      
   i2c_stop_tx();

   // Inizia la Trasmissione
   
   if(err = i2c_startw_tx())
    {
  i2c_stop_tx();
  return -1;       // Errore
    } 

   // Scrive l'indirizzo e attende l'ACK
    
  if(err = i2c_wr_wait(0x70 | (Address << 1)))
    {
  i2c_stop_tx();
  return -2;      // Errore
    }  

   // Scrive se sono ingressi (1) o uscite (0)
    
  if(err = i2c_wr_wait(InOut))
    {
  i2c_stop_tx();
  return -3;      // Errore
    }  

   // Scrive le Uscite
    
  if(err = i2c_wr_wait(StatoUscite))
    {
  i2c_stop_tx();
  return -4;      // Errore
    }  

   i2c_stop_tx();
   return 0;          // Dato Spedito Ok
}

// ****************************

void main()
{
   auto int                sw1;
   auto int                nEntrambi;
   auto char               Buff[80];
    auto unsigned long int    timer;
   auto int                OldNChars;

   auto unsigned char      Address,InOut;
   auto int Pippo;
   
   InOut   = 0x00;          // Tutte Uscite
   Address = 0x00;          // Nodo 0
               
    MyBrdInit();                  // Inizializza il modulo

    serBopen(115200);                   // Setta Baudrate
    serBparity(PARAM_NOPARITY);         // Parity None
   serBdatabits(PARAM_8BIT);           // 8 Bit di Dati
    serBwrFlush();                      // Svuota Buffer Trasmissione
    serBrdFlush();                      // Svuota Buffer Ricezione

   sw1       = 0;
   nEntrambi = 0;
   timer     = 0;
   OldNChars = 0;
   i2c_init();                         // Inizializza l'I2C

   Pippo = Wr_PCF8574A(Address,InOut,0x00);

   sprintf(Buff,"Risultato I2C = %d\n",Pippo);
   serBputs(Buff);   
               
    for(;;)   // Main Loop
    {
      // Premendo il Puls1 viene fatto un toggle sul Led3

  costate
  {    
   if(!BitRdPortI(PGDR, PULS1)) abort;                            // Se ho la condizione di attivazione annullo perche' non e' un fronte
   waitfor(DelayMs(5));                                     // Aspetto il fronte entro 5ms
   if(!BitRdPortI(PGDR, PULS1))                                   // Se ho la condizione e' un fronte !
   {
    sw1=!sw1;                                         // Inverte lo stato dell'uscita

            Wr_PCF8574A(Address,InOut,sw1 ? 0xFF : 0x00);       // Accende / Spegne i led del PCF8574A
      BitWrPortI(PGDR, &PGDRShadow, sw1, LED3);                   // Scrive l'uscita
   }
  }

      // Premendo il Puls2 viene inviata una stringa con la seriale
  
  costate
  {    
   if(BitRdPortI(PGDR, PULS1) &! BitRdPortI(PGDR, PULS2)) abort;  // Se ho la condizione di attivazione annullo perche' non e' un fronte
   waitfor(DelayMs(5));                                     // Aspetto il fronte entro 5ms
   if(BitRdPortI(PGDR, PULS1) &! BitRdPortI(PGDR, PULS2))         // Se ho la condizione e' un fronte !
   {
            serBputs("IFACH Software - Calpe , Costa Blanca\n");        // Invia s sulla seriale B
            serBputs("Welcome to the Rabbit !\n");                      // Invia s sulla seriale B
         }
   }    

      // Lampeggio 50ms On / 50ms Off
    
  costate
  {        
       wfd
       {
    // 50 ms on/off
    flashled[0](LED1,50,50);                                  // Fa lampeggiare il LED1 (PG6)
     }
  }

      // Lampeggio 200ms On / 200ms Off
    
  costate
  {
   wfd
   {
    // 200 ms on/200 ms off
    flashled[1](LED2,200,200);                                    // Fa lampeggiare il LED2 (PG7)
   }
  }

      // Invia messaggio se premuti contemporaneamente Puls1 e Puls2
  
  costate
  {    
   if(!BitRdPortI(PGDR, PULS1) &! BitRdPortI(PGDR, PULS2)) abort;   // Se ho la condizione di attivazione annullo
   waitfor(DelayMs(5));                                       // Se Non avevo la condizione di attivazione ma arriva entro 5ms allora ho un fornte di salita !
   if(!BitRdPortI(PGDR, PULS1) &! BitRdPortI(PGDR, PULS2))          // Se ho la condizione
   {
            sprintf(Buff,"Premuti Entrambi [%d]\n",++nEntrambi);          // Preparo la stringa da inviare
            serBputs(Buff);                                               // Invia s sulla seriale B
   }
  }


      // Gestione seriale con time-out
  
  costate
  {
         if(timer == 0)           // Se ci sono caratteri in attesa nel Buffer
         {
            if(serBrdUsed() > OldNChars)  // Se e' aumentato il numero di dati Resetta il time-out
            {
               OldNChars = serBrdUsed();
               timer = MS_TIMER;   // get current time in milliseconds
            }
            else
            {
               OldNChars = serBrdUsed();
               if(!OldNChars) timer = 0;
            }  
         }

         if(serBrdUsed())
         {
            if(MS_TIMER > (timer + 2000))  // Se time-out a 2 sec
            {
               timer = 0;
               OldNChars = 0;
               serBrdFlush();             // Svuota Buffer Ricezione
               serBputs("\nTime-Out RS232 Port B !");                 
            }            
         }
         
         if(serBrdUsed() > 3)  // Se ci sono > di 3 caratteri in attesa nel Buffer
         {
             if(!serBread(Buff,4,200))   // Se c'e' errore nella lettura
             {
                serBputs("\nErrore Lettura Buffer !");  
             }
             else
             {
                serBputs("\nBuffer Letto = ");
                Buff[4] = '\0';  // Termina il Buffer
                serBputs(Buff); 
             }
             
             serBrdFlush();  // Svuota Buffer Ricezione
         }                 
  }
    
    }
}

Ciao a tutti :)

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao a tutti :-)

Come avevo scritto tempo addietro, avremmo dovuto ordinare il kit di sviluppo per il Rabbit 3000. Ma la lunga attesa di una risposta da parte del distributore italiano dei prodotti Rabbit mi ha indotto a frugare in internet a cercare ulteriore documentazione in attesa di avere tra le mani il pupo.

Nel sito zworld ho trovato il sistema RabbitNet. Consiste in schede gia' pronte, una con il microcontrollore, altre di sola espansione I/O, collegabili fra loro con una RS422 point to point alla velocita' massima di 1 megabit.

La scheda madre consiste in un Core Rabbit 3010, sezione alimentazione, 16 ingressi digitali a 24V, 8 uscite digitali a 24V, 1 ingresso analogico e 2 uscite analogiche PWM. In piu' ha la batteria tampone, una RS485, 2 RS232 e due RS422 con le quali puo' pilotare 2 schede di espansione, in attesa che sia disponibile un router.

Le schede di espansione gia' pronte sono tre:

- 24 digital in, 16 digital out, 4 analogic in a 10 bit

- 8 analogic in a 11 bit (o 4 differenziali a 12 bit)

- 8 analogic out a 12 bit

Abbiamo ordinato il kit di sviluppo di questo sistema, che comprende la scheda madre "BL2500 Coyote", una scheda di test, connettori vari e il Dynamic C.

Speriamo di essere operativi entro una decina di giorni e di poter contribuire attivamente al progetto :-)

Link al commento
Condividi su altri siti

  • 3 months later...
ifachsoftware

Vedo che dal mio ultimo post (22/Feb/2004) ad oggi (11/Mag/2004) sono passati piu' di 2 mesi nessuno ha fatto piu' nulla , con questo ritengo il progetto concluso in maniera fallimentare , spero solo che sia finito cosi' poiche' non gliene frega niente a nessuno o che abbiate troppe cose piu' importanti da fare , altrimenti sarebbe inutile parlare del declino industriale dell'Italia. :(:(

Personalmente mi asterro' dal pubblicare altre risorse sull'argomento , sono stato abituato a crescere da solo e continuero' a farlo , anche se avrei apprezzato di poter crescere professionalmente insieme ad altri.

Vedo che anche il progetto di uno Scada in VB ottiene molti consensi , consiglio al povero Livio di scrivere pietosamente la parola FINE anche a quel capitolo.

Ciao a tutti :)

FINE DEL PROGETTO RABBIT
Modificato: da ifachsoftware
Link al commento
Condividi su altri siti

Non credo che il progetto sia finito.

Io dalla mia parte , sono molto preso con altri progetti che hanno gia un cliente.

Ho iniziato a comprare i componenti per fare un pannello hmi con touch screen bus comunicazione CAN e 485.

Purtroppo qui in Brasile e' abbastanza difficile reperire componenti speciali , ma appena monto il prototipo iniziero' con il software.

Per adesso il PIC mi fa guadagnare ... quindi continuo con lui ... :)

Link al commento
Condividi su altri siti

  • 3 weeks later...

ciao ifach

nel mio cuore c'e' sempre il rabbit

la mia incazzatura e' che , pur avendo a disposizione tutta la libreria con documentazione in inglese ,

trovo difficile capire alcuni concetti basilari della programmazione micro

cioe vorrei capire alcune cose come : costate (non credo si riferisca ad una grigliata) , nodedebug

ed altro .

ho delle serie intenzioni , qualcosa di pesante , lo visto anche io l'anno scorso che son stato il primo ad acquistare il kit rabbit dopo mesi di parlare su tini ed altro .

ho speso dei soldi che sono li , ma voglio fare qualcosa

mi frega la mia scrsa conoscenza in elettronica

comunque se la gente non ha interesse possiamo sempre fare un progetto rabbit ristretto per pochi ( io e te , qualcun altro )

ciao

walter

Link al commento
Condividi su altri siti

Ciao Walter, costate e nodebug sono due direttive al compilatore. La prima non ricordo a cosa serve, dovrei consultare il manuale, per la seconda è facile: dici al complilatore di non darti indicazioni dettagliate sugli errori di sintassi, quindi lui segnale il numero degli eventuali errori ma senza altri messaggi. Il termine più corretto sarebbe "no verbose debug" Per il resto stiamo a vedere. Io la spugna l'ho gettata da parecchio, mi sa che la getterò anche per il prgetto SCADA, visto che sono tutti li ad aspettare solo il mio lavoro, mai un aproposta!

Link al commento
Condividi su altri siti

costate (non credo si riferisca ad una grigliata)

Se ho capito bene , costate permette un pseudo multitask , se ci sono vari costatement ,il processore dividera' il tempo cicli ver i vari costate che sono attivi.

Link al commento
Condividi su altri siti

  • 3 weeks later...

si qualcosa del genere

Ragazzi io tra poco inizio ad acquistare i componenti , i/o remotati in i2c digitali ed analogici

per interfacciarli col rabbit

nel frattempo se vedo che non va avanti niente mi do ai Pic della microchip giusto per infarinarmi

un pochino coi micro e con piccole comunicazioni seriali , anche la porta seriale del del notebook

non funziona ho sempre il desktop

pero col rabbit e' veramente un peccato mollare cosi

per livio

ho gia fatto delle prove con rabbit-pc su tcp\ip e funzia

magari lo interfacciamo col progetto scada in ethernet

cosa ne dici , tanto ce l'ai l'activex per tcp in visual basic no?

parto col pic piccolo e poi aumento

ci sono un sacco di micro in giro , un amico mi ha consigliato zylog del quale scambiavano gratuitamente

il kit di sviluppo ed in cambio prendevano il rabbit :angry::angry::angry:

poi c'e' STmicroelectronics ,

pero visto in giro i migliori sono rabbit e poi pic , quest'ultimo per una varieta di siti che lo propongono anche in italiano

allora cosa facciamo ???? :unsure:

ciao

walter

Link al commento
Condividi su altri siti

Tanto per mettere carne sul fuoco....si parlava di costate ...

Mi sto' interessando ai micro Z8 encore della zilog , sono paragonabili ai pic e sono circa sulla stessa fascia di prezzo , ma sembra che siano molto piu' potenti nell'area di debug .

Dovrei acquistare il kit per iniziare le prove... pero' se avete gia' provato questo componente e avete cose da dire ...

Per il rabbit , il problema e' il prezzo , ho provato a proporre progetti con i moduli , ma i costi sono alti per il mercato che voglio raggiungere qui' in Brasile , per questo che ho accantonato ilmomentaneamente il kit.

Ho gia' tutti i componenti per interfacciare il rabbit con un lcd touch screen , adesso manca solo il tempo per metterci le mani addosso....

Link al commento
Condividi su altri siti

ciao dlgcom

senti ...sto per finire un progetto (mi pagano ) entro fine mese al massimo i primi di luglio

poi dopo una serie di offerte e cose da fare a dx e manca , verso luglio se non sboccia niente

sono un po scarico .

pensavo di occupare il mio tempo in due modi :

-1 comprare qualche kit e sviluppare qualcosa

-2 fare un salto in brasile e darti una mano :D

coi plc me la cavo , col pc ho fatto degli scada in vc#.net su opc server

coi micro penso di farcela

tra l'altro ho passato anche 10 anni come elettricista

...non ti serve un collaboratore ?

partita iva e tutto in regola

:):):)

ciao

walter

p.s. se vuoi ho un caro amico che si occupa di marketing per Zylog ,potrei chiedere a lui qualche info ;)

Modificato: da walterword
Link al commento
Condividi su altri siti

...non ti serve un collaboratore ?

Piu' che un collaboratore , con la tua esperienza potremmo diventare soci...

Il problema e' che con la moneta Brasiliana cosi debole rispetto all'euro , non penso che sia un grande investimento per te :P

Pero' se volete venire in Brasile , saro ' felice di ospitarvi ...

Tornando al Rabbit , anche io a fine mese chiudo un progetto , ma ne ho altri tre ... per mia fortuna ... che usano il pic.

Link al commento
Condividi su altri siti

ok socio

dunque il rabbit e' troppo potente e sprecato per il mercato brasiliano

quindi andiamo sul sicuro , Pic ect

guarda che non scherzo

trovami una baracca che parto e vengo li

sviluppiamo qualcosa e poi lo commercializziamo in europa ;)

...fammi sapere le tue impressioni :D

ciao

walter

p.s. il problema della moneta ??questo maledetto euro vale piu del dollaro ne so qualcosa dall'ultimo cambio di dollari che avevo da parte da ultime traferte

e' forte ma quando vai a fare la spesa non vale niente , meglio il real o reas

come si chiama la moneta brasi ?

Modificato: da walterword
Link al commento
Condividi su altri siti

adesso mi organizzo coi pic

programamtore , schede varie ect

voglio perfezionarmi e capire cosa sta dietro la comunicazione Rs232 -RS485

e realizzare subito schede per acquisizione dati digitali ed analogici

adesso son proprio stufo dei progetti on line che non si combina mai un ca**o

ho aspettato troppo

poi realizzero un qualcosa su pc per interfacciarsi e supervisionare il tutto

il fatto e' che in .net non ho ancora trovato nulla su come poter gestire l'RS232

ho gia inmano schemi per alimentatori stabilizzati , ingressi otpoisolati ed uscite e rele

con diodo led per verifica

sono convinto

ciao

walter

dicono bene anche di ST6 microelectronics , che sfrutta a pieno il 485 e il Canbus -open

poi vediamo

Modificato: da walterword
Link al commento
Condividi su altri siti

come si chiama la moneta brasi ?

La moneta si chama Real simbolo R$ .

Oggi al cambio e' circa 1euro = 3,6 reais ( plurale ;) )

Non e' che il Rabbit sia caro , ma con il costo che ha , devi giustificare il maggior costo con caratteristiche.

Per esempio un progetto che iniziero' sara' un collegamento di varie stazioni in rete 485 o can con un rabbit che fara da ponte con una rete tcp/ip.

Qui si che c'e' il budget ....

Per sviluppo ... io sto pensando in un hmi touch screen intelligente ( con entrate e uscite ) con Rabbit.

Gia' esiste ... ma il mercato qui e li penso che sia ancora grande...

Link al commento
Condividi su altri siti

e realizzare subito schede per acquisizione dati digitali ed analogici

Inizia allora gia con pic della serie 16F87x hanno gia convertitori A/D interni.

Ci sono modelli che hanno gia porte per can .

ti mando un mp e ti passo il mio e-mail , cosi se hai dubbi e solo entrare in contatto ... sono sempre online anche con msn.

Link al commento
Condividi su altri siti

si il rabbit sfrutta a pieno le potenzialita del tcp\ip , http ect

il controller incluso poi e' gran bel discorso

ho fatto delle prove semplici tra VC#.net e rabbit configurato come server web

niente male

stiamo mettendo giu qualcosa , tempo permettendo , io e ifach

a tempo perso mi sto preparando un protocollino tcp col quale chiedo dei dati al rabbit

e lui me li manda e viceversa

il mio sogno sarebbe di applicare rabbit con chip per profibus siemens

e da li rendere in lan un pl csenza pagare un ca**o di licenze

sto cercando di sviluppare un discorso del tipo :

col pc faccio supervisione ai o ai plc tramite opc server

(gia funzionante e presentato per una ditta che fa presse alla fiera di bologna e in spagna )

poi con un altro pc che fa da client chiamare il pc di supervisione che e' server

e quindi rendere disponibili i dati del plc , scriverli e leggerli in lan o internet

pagando una licenza sola dell'opc server per il protocollo S7-profibus del quale

posso spulciare quello che vogio senza pagare royalty ne tag ne chiavi di sviluppo ne runtime

ciao walter

...ok allora non mi vuoi come socio in brasile ??? :(:(

Link al commento
Condividi su altri siti

ok allora mi organizzo per i pic

si ho visto che la serie 16f... e' abbastanza completa di performances per iniziare

ho letto il tutor di tanzilli , mitico , e di un altro tipo

per iniziare , pero , no vorrei riempire il mio pc di softwarini , uno che compila da assembler

in .hex e l'altro che carica il programma.

dovrei cercare qualcosa dove il debug si abuono e anche la programmazione

figurat abituato coi plc e pc che ad ogni errore mollo , modifico e poi rilancio velocemente

qua se devo togliere il pic dallo zoccolo

metterlo nel programamtore , ritoglierlo , e via vado in paranoia

sono disposto anche ad investire qualche centinaio di euro per questo progetto pic

voglio farlo BENE non come i morti di fame che per comprare un micro di 2 uero rompono le palle

per me e' curiosita , esperienza, curriculum e sara anche fonte di guadagno piu avanti

quindi cosa mi consigli , SOCIO ???

:D

ciao

walter

p.s. vedevo un certo MPlab e company , oggi ho fatto ricerche su kit di sviluppo e copilatori ed e' stata una gran confusione

al limtie un idea , poi la schede board me la faccio io con connettore RS232, Rs485 ,

Controller ethernet (se esiste per i Pic) , ingressi remotati , analogici remotati ect

in modo tale da lavorare e fare pratica col software

cosa ne pensi della mia iniziativa?

Link al commento
Condividi su altri siti

per il PIC gratis e molto valido c'e' MPLAB arrivato alla versione 6.50

lo puoi trovare QUI

Per un debug rapido dovresti usare un emulatore che si chiama ICD2 ( In Circuit Debug 2).

Quello originale e' molto caro , ma qui se ne trova una versione abbastanza economica.

Se ti interessa dimmelo che provo a vedere a che prezzo lo posso trovare per il mio SOCIO ;)

Con questo puli fare il programma scaricarlo sul PIC target montato nel tuo circuito , fermarlo quando vuoi con breakpoint e leggere o modificare area di memoria .

Se fai modifiche al sw non devi fare altro che assemplarlo e scaricerlo nel pic senza smontarlo dal circuito.

per tcp/ip , penso che il pic sia un po' limitato , pero' ci sono note della stessa microchip per implementare il tutto.

ma se devi fare applicazioni in rete allora , tra pic memoria chip di rete e affini , e' meglio usare il rabbit.

Modificato: da dlgcom
Link al commento
Condividi su altri siti

grazie SOCIO

allora adesso scarico mplab

e poi vedo cosa costa l'altro programma per il debug

non esiste qualcosa che possa mettere insieme entrambe???

ciao e grazie

walter

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...