Vai al contenuto
PLC Forum


Comandare gli inverter direttamente da PC


dab77

Messaggi consigliati

Innanzitutto salve a tutto il forum, MOLTO interessante e pieno di gente strapreparata.

dopo la sincera sviolinata mi presento: Davide, tecnico dello spettacolo, dove ho spesso a che fare con inverter e motori.

purtroppo non ne so ancora quanto vorrei, quindi eccomi a chiedervi aiuto per un progetto.

Ho bisogno di comandare 4 motori trifase (non so ancora quali, ne di che potenza, ma per quello c'è tempo..) tramite un software che sto programmando in python ( su linux ). mi serve il software, perchè c'è un algoritmo che governa in tempo reale i 4 motori a seconda di vari fattori, ma questo è un altro problema...

il mio grande scoglio è:

si possono comandare degli inverter direttamente da pc?

sto cercando info a riguardo, ma senza grandi risultati...

P.S. spero di aver postato nel giusto posto... :)

grazie per qualsiasi tipo di chiarimento.

davide.

Modificato: da dab77
Link al commento
Condividi su altri siti


Quasi tutti i gli inverter, anzi probabilmente tutti, oggi hanno una linea seriale RS23 e/o RS485. Se vuoi usare un PC senza particolari aggiunte devi solo scriverti il software ed inviare i dati ed i comandi tramite seriale ai 4 inverter. Ovviamente la velocità è limitata ai 19kBaud canonici. Se vuoi andare cn velocità maggiori scegli inverter con opzione bus di campo. CANBus, Devicenet, Profibus sono field bus disponibili per gli inverter dei maggiori costruttori. Sul PC devi montare un'apposita sche da d'interfaccia, ma anche per queste non c'è problema. Ovviamente poi bisogna scrivere il software applicativo ad hoc.

Link al commento
Condividi su altri siti

perchè c'è un algoritmo che governa in tempo reale i 4 motori a seconda di vari fattori

la risposta e si puoi gestirli da PC, se chiedi posso gestirli velocemente la risposta è Quanto velocemente?

Link al commento
Condividi su altri siti

ok, questo già mi riempie di ottimismo, anche se so che non sarà facile, ma è questo il divertente!

ora continuo con le domande:

1- e via ethernet si complicano parecchio le cose? (cioè, esistono inverter che accettano protocolli ethernet in ingresso?)

2- sapete dove posso trovare le specifiche del bus d'ingresso? cioè.. io ho le mie variabili che cambiano in uscita e dovrei ricevere segnali in ingresso da encoder assoluti e fine corsa meccanici. se prendo un inverter X, poi dove posso trovare lo standard di comunicazione per tradurre (magari da python) le variabilli in comandi per l'inverter?

3- avete qualche inverter da suggerire?

grazie ancora, anche a chi ha cambiato il titolo dell'argomento!! ..meglio..

Modificato: da dab77
Link al commento
Condividi su altri siti

ok, scusate per la fretta, ho trovato sul forum già altre discussioni sul field bus.

partirò da li a studiare un pò, poi mi rifarò vivo!

grazie ancora, davide..

Link al commento
Condividi su altri siti

Se è la prima applicazione che fai con i bus di campo affidati a qualche dispositivo ben consolidato e, soprattutto, ben supportato.

Scelgi per prima cosa marca e tipo d'inverter, poi usa un dispositivo adattatore per PC già testato o, meglio, certificato per il tipo di bus usato.

Siemens, ad esempio, offre direttamente interfaccie profibus per PC; anche altri costruttori d'inverter hanno loro dispositivi o da loro certificati.

Questo è l'unico modo per minimizzare tutti gli eventuali inconvenienti che solitamente capitano alla prima applicazione.

Link al commento
Condividi su altri siti

quindi mi consiglieresti profibus..

sono andato sul sito ma anche li non trovo molte informazioni sulla programmazione.

il fatto è che a dimensionare l'inverter vettoriale e scegliere la marca, e il motore da pilotare è relativamente facile,

il mio scoglio grande è capire come si traducono le mie variabili in comandi per l'inverter.

nel sito profibus non trovo spezzoni di codice da cui imparare, o simili.

suggerimenti a riguardo?

ringrazio.

Link al commento
Condividi su altri siti

io ti consiglio CANOPEN, gli inverter Schneider hanno l'interfaccia Can integrata, ma penso che l'abbiano anche altre case. Il CAN è standard "de facto" internazionale e quindi non dovrai pagare royalties ai tedeschi del Profibus.

Le schede Master CanOpen per PC sono molto diffuse e non hanno prezzi paragonabili al master profibus Siemens

Modificato: da biros66
Link al commento
Condividi su altri siti

cit:

Io ti consiglio CANOPEN, gli inverter Schneider hanno l'interfaccia Can integrata, ma penso che l'abbiano anche altre case. Il CAN è standard "de facto" internazionale e quindi non dovrai pagare royalties ai tedeschi del Profibus.

Le schede Master CanOpen per PC sono molto diffuse e non hanno prezzi paragonabili al master profibus Siemens

ecco mi sento più in sintonia con canopen.

comunque mi manca sempre il metodo di programmazione da pc.

aiuto!

Modificato: da dab77
Link al commento
Condividi su altri siti

prendi in considerazione anche gli azionamenti Schneider con scheda ETHERNET. A questo punto studiati bene il protocollo Modbus TCP, esistono molte applicazione opensource.

ModbusTCP è molto diffuso, non dovrebbe essere complicato includere il driver di comunicazione nel tuo applicativo.

La connessione la puoi realizzare con la scheda ethernet del tuo PC --- SWITCH --- Driver.

La documentazione è diffusissima sul web

Link al commento
Condividi su altri siti

La scelta del bus di campo dipende da tante considerazioni, spesso molto personali.

La scelta degli inverter invece dipende da considerazioni basate su affidabilità, costo, prestazioni e reperibilità. L'ordine non è casuale.

Le mie preferenze in fatto d'inverter vanno alle due case giapponesi più "antiche" produtrici di questi dispositivi ed ad una multinazionale svizzero-svedese. :)

Come bus di campo anche le mie preferenze vanno a Modbus TCP e CAN, ma sono solo le mie preferenze motivate dalle medesime considerazioni espresse dai due interventi che mi hanno preceduto.

L'inverter che ti hanno consigliato è prodotto da uno sponsor importante di PLCForum quindi....non si può che dirne bene :)

Link al commento
Condividi su altri siti

bè, capisco. comunque iniziare a programmare non è facile per niente senza un prgmmatore vicino! il fatto è che non si trova niente in rete..

sono però dell'idea che sto sbagliando a cercare..

ma c'è qlcno di voi che programma direttamente da pc (C o magari Python..), oltre che da software dedicati?

ciao.

Link al commento
Condividi su altri siti

ma c'è qlcno di voi che programma direttamente da pc (C o magari Python..), oltre che da software dedicati?

1 - Evita abbreviazioni come la parola evidenziata. Il regolamento lo vieta perchè rendono il messaggio meno comprensibile e, spesso, irriatano il lettore. Tra l'altro non è che si risparmi del gran tempo.

2 - Programmare in "C" o altri linguaggi come VB.net o "C#" è abbastanza comune, ma esula un poco dal tuo problema. Usare una scheda di interfaccia per CAN, MODBUS TCP o altro bus di campo è indipendente dal linguaggio di programmazione. Bisogna conoscere come si usa l'interfaccia e quali sono i comandi necesari per comunicare con la periferia remota da usarsi. Il linguaggio è solo un utensile.

In genere i produttori di interfaccia forniscono anche librerie da unire all'ambiente di utilizzo. Ci sono librerie in VB, in VB.Net, "C", in "C++", in "C#" secondo dispositivo e ambiente di sviluppo dell'applicazione.

Ti ripeto, identifica tipo e marca d'inverter, tipo di bus; in seguito ricerca la scheda di add on per PC che più soddisfa le tue esigenze per quel bus. Il costruttore della scheda in genere fornisce le librerie per uso sotto WIN e, spesso, sotto Linux. I comandi però dipendono dai convertitori usati.

Link al commento
Condividi su altri siti

Io sono riuscito da PC, scrivendo un'applicazione in C a leggere i parametri di un inverter Danfoss via profibus (DPV1) utilizzando una libreria della Siemens.

Ti consiglio di cercare nel sito del produttore dell'inverter se mette a disposizione delle librerie dedicate altrimenti la vedo dura.

Anche io adesso sono alla ricerca del modo di leggere/scrivere parametri direttamente via TCP/IP di un inverter, cioè senza appoggiarmi al PLC a cui è collegato mediante una DB.

Quello che voglio fare è utilizzare il PLC solo come gateway Ethernet verso la rete profibus degli inverter.

Saluti

Modificato: da cdc
Link al commento
Condividi su altri siti

1 - Evita abbreviazioni...

ok, chiedo scusa.

2 - Programmare in "C" o altri linguaggi come VB.net o "C#" è abbastanza comune, ma esula un poco dal tuo problema...

bè il fatto è che dovendo partire da quasi zero cercavo prima di capire quale fosse la strada ottimale da intraprendere.

mettiamola così allora:

ho a disposizione dei Telemecanique - Square D - Altivar 58, appena datati (2002, o giù di li..), e dei motori da 1,1kW, asincroni trifase, con freno motore e fine corsa già montati..

sono comandabili direttamente senza plc? che protocollo mi conviene usare?

ovviamente mi sto scaricando tutti i manuali che trovo a riguardo, ma un consiglio da persone esperte aiuta sicuramente moltissimo!

[at]cdc:

io ho un programma già strutturato in python, con l'utilizzo di wxPython. ho letto poco riguardo a librerie python, per questo sono ancora in cerca di indicazioni. quello che devo fare è "interfacciare" il mio programma ad un inverter che piloti il mio bel motorino..

hai indicazioni a riguardo, o pensi che mi conviene lasciar perdere python e dedicarmi a C per lo scopo?

grazie.

Link al commento
Condividi su altri siti

..o pensi che mi conviene lasciar perdere python e dedicarmi a C..

Questo te lo consiglio vivamente :) . "C", "C#". "C++", "C.net", "VB.net" la scelta è ampia.

..sono comandabili direttamente senza plc?

Tutti gli inverter, converter, etc possono essere comandati solo con dispositivi elettromeccanici, dipende da cosa si vuol realòizzare.

che protocollo mi conviene usare?

Questo dipende da cosa ammettono i tuoi inverter. Lo devi capire dai manuali.

Hanno un'interfaccia, anche opzionale, per un bus di campo?

Se, ad esempio, i tuoi inverter possono essere dotati solo di un'interfaccia CAN Bus la scelta può cadere solo su CAN.

Se non è possibile avere un'interfaccia per bus di campo, tutto il discorso cade.

Però dovrebbero avere almeno la linea seriale disponibile; con quella si posson fare aprecchie cose.

Ma la domanda base è: cosa vuoi gestire da PC? Perchè ho la sensazione che tu stia progettando un bell'issimo UCAS (Ufficio Complicazioni Affari Semplici) :)

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Ma la domanda base è: cosa vuoi gestire da PC? Perchè ho la sensazione che tu stia progettando un bell'issimo UCAS (Ufficio Complicazioni Affari Semplici) smile.gif

eh eh... che mi sto complicando la vita è sicuro!

quello che voglio fare l'ho già accennato nel primo post.

comunque il progetto da spiegare è un pò difficile, ma per quanto riguarda le funzionalità mettiamola così: immagina che con un joystick devo comandare un carico appeso a due motori contemporaneamente, cosicchè i cavi dai motori formano una V (bretella).

quindi con il joystick posso comandare due assi, lo spostamento verticale e quello laterale (spero di riuscire a spiegarmi..) ma appunto invece di usare un carro ponte, in cui i due motori muovono esattamente su quegli assi, nel mio caso devo programmare un algoritmo che tenga conto delle diagonali dei cavi d'acciaio dei motori, su cui è appeso il carico, e dei calcoli sulla portata dei cavi rispetto all'angolo di sollevamento e delle velocità dei motori in base alla posizione del carico, e ovviamente le varie sicurezze.

inoltre devo avere a disposizione una più che comoda interfaccia per registrare le posizioni, modificarle rapidamente, richiamarle, e in caso di muovere "in manuale" il carico...

UCAS? certo!, ma visto che la potenzialità tecnologica c'è, vorrei riuscire ad usarla! certo, come programmatore sono un pò una schiappa, ma so che si può fare, quindi perchè non provarci?

comunque, visto quello che ci devo fare, è chiaro che l'interfaccia la devo creare io. Python è fantastico per fare queste cose rapidamente. C è un morto. il mio problema è,vista la mia ignoranza in materia PLC-istica, come dicevo all'inizio, POSSO COMANDARE DALLA MIA INTERFACCIA DIRETTAMENTE I DRIVER (INVERTER)?

domani avrò gli Altivar 58 sotto mano, e capisco che scheda c'è montata. ho visto che se ne possono montare diverse, credo ci sia una CanOpen con protocollo ethernet, ma domani avrò conferma.

mi sono dilungato un pò, ma spero sia un pò più chiaro il mio problema.

intanto grazie comunque Livio Orsini per le risposte e il tempo dedicato. alcune cose che per voi sono scontate per me ancora non risultano chiare, ecco perchè le mie tante domande.

grazie anche a tutti quelli che possono in qualsiasi modo aiutarmi.

ciao.davide.

Link al commento
Condividi su altri siti

can open con protocollo ethernet mi sembra un pò difficile. ATV58 ha di serie, dietro il tastierino, un interfacciamento con protocollo modbus rtu. Dubito del fatto che tu possa trovare qualche accessorio nuovo, Schneider non li produce da 3 anni almeno. Se ti occorre qualche notizia, fatti sentire.

Link al commento
Condividi su altri siti

Io ho usato il C perchè la siemens metteva a disposizione una libreria sottoforma di dll, Ho provato ad usare anche VBA ma c'era qualcosa che non gli piaceva nella libreria, così sono stato "costretto" a passare al C (con il C puoi fare tutto).

Ritornando alla tua applicazione, mi sembra un pò azzardato controllare dei motori con il PC.

Io userei un PLC (ci sono tanti microPLC che non costano una esagerazione) o un microcontrollore di tipo industriale. Il PC lo lascerei per compiti di diagnostica / supervisione.

Ciao

Link al commento
Condividi su altri siti

C è un morto.

Per chi non lo sa usare forse, per chi usa compilatori taroccati anche.

Usando strumenti giusti in modo corretto è ancora lo strumento più ottimizzato dopo l'assembler.

Te lo dice uno che usa il "C" in ambiente PC dall'uscita del primo compilatore TurboC.

In quanto al morto rischi che ci sia davvero se metti in pratica quello che vuoi fare.

Per prima cosa sarà difficile rientrare nelel normative delle gru perchè, da quello che descrivi il marchingegno ricade proprio in quel tipo di apparati.

Controllare un carico sospeso da PC, scusa se te lo scrivo in modo esplicito, è da incoscenti; a meno che non si tratti di un modellino in scala, ma non sembra.

Pensa alle conseguenze, anche legali, di quello che ti accingi a fare.

Link al commento
Condividi su altri siti

Controllare un carico sospeso da PC, scusa se te lo scrivo in modo esplicito, è da incoscenti; a meno che non si tratti di un modellino in scala, ma non sembra.

Pensa alle conseguenze, anche legali, di quello che ti accingi a fare.

Io mi fermerei a questa considerazione di Livio prima di passare oltre, dato che, essendo dello spettacolo, o ci attacchi qualcuno oppure qualcosa la fai volare sopra qualcun altro...Comunque, organo di sollevamento si tratta e a meno che non debba usarlo esclusivamente in ambiente segregato mi sa (e qui c'è gente che ne sa ) ti accingi a fare qualcosa di assolutamente artigianale e tale dovrebbe rimanere....

Considera che alla fine dovrà essere classficiata come macchina...e se fai una ricerca del forum vedi a cosa vai in contro...Altra considerazione è che alla fine no hai definito le velocità con le quali devi impostare questo sincronismo e/o interpolazione. Se hai ethernet, anche scrivendo il codice dal PC finisci all'imbuto della seriale dell'inverter, di più non potrai andare, adesso non sò se 9.6K oppure 19.2 o anche oltre...

Per queste cose anche se non mi piace dirlo, perchè non ne sono un grande fan in ambito prettamente industriale (li considero sempre bellissimi prodotti ma da ricerca, per svariate considerazioni che vanno fuori OT) vedrei meglio utilizzo di NI con relativi software e il comando degli inverter (se tali devono rimanere) tassativamente in analogica....considerando anche che non hai citato nulla che ti permetta la lettura del feedback, quindi tutto il tuo movimento rimane molto virtuale..

Molti clienti per applicazioni MOLTO particolari oppure per prototipi usano NI perchè inoltre permette una facile interfaccia con il mondo universitario e quindi ricerca, sperimentazioni ecc...

ho la sensazione che tu stia progettando un bell'issimo UCAS (Ufficio Complicazioni Affari Semplici)
:lol: Rubo la battuta....

Ciao

Link al commento
Condividi su altri siti

grazie per le risposte.

uno dei motivi per cui vi chiedevo era proprio questo: capire fino a che punto potevo arrivare comandando dal pc.

sulla sicurezza nello spettacolo sono particolarmente attento e ferrato, visto che di mestiere faccio proprio questo, tipo persone che volano sopra al pubblico, appesi a motori programmabili a velocità variabile. utilizzo quasi da 10 anni motori come i Chainmaster Variolift spostando carichi di tonnellate a 20mt/min...insomma so di cosa sto parlando.

Sia ben chiiaro che non intendo mettere a rischio nessuno senza le dovute certezze..Siamo mica alla festa di piazza qui!

comunque, date un'occhiata qui:

Navigator - Fisher

questo è il sistema che vorrei emulare. è un'azienda Californiana, che produce questi motori che arrivano fino a 70mt/s, programmabili da pc per uso prevalentemente cinematografico (Spiderman era appeso ai loro motori...)

Navigator è il nome del loro software, molto elaborato, che si fa tutti i bei calcoli.. poi in qualche modo arrivano i segnali ai driver che comandano i motori.

che ne dite, come li comandano loro???

:) grazie ancora.

Link al commento
Condividi su altri siti

Tra quel sistema ed un PC c'è di mezzo ....... un oceano.

Tanto per cominciare c'è un sistema specifico per il controllo di sicurezza; poi il PC è la consolle operatore; c'è un bus di campo, ci sono degli I/O distribuiti, ci sono dei controlli specifici per motori.

Il sistema che devi realizzare non è semplicemente dare un riferimento ad un inverter.

Tra l'altro, vista l'applicazione, gli inverter devono essere vettoriali con controllo in anello chiuso. Io avrei optato per azionamenti (inverter, motore e trasduttore) ABB che son quelli che, a mio giudizio, son più affidabili nelle applicazioni per sollevamento.

Per realizzare quello che ti prefiggi c'è da fare una progettazione specifica di sistema, solo dopo questa fase si potrà analizzare e scrivere le funzioni Sw.

Link al commento
Condividi su altri siti

Stefano Sormanni

Se hai a disposizione degli inverter Telemecanique, in special modo Altivar 58, poi far inserire la scheda di rete Modbus TCP, da lì poi tramite il tuo PC ed VB.NET + libreria NModbus poi leggere e scrivere su tutti gli indirizzi dell'inverter senza dovrti comprare costose interfacce RS485, PROFIBUS, CAN o altro.

Quello che richiederà più tempo è la scrittura del programma con la sua interfaccia grafica.

Modificato: da Stefano Sormanni
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...