Vai al contenuto
PLC Forum


Nuovo Progetto On-line / Il Plc Di Plc Forum (e Non Solo...)


Gabriele Riva

Messaggi consigliati

del_user_56966
on capisco perchè nessun PLC lo gestisca.....

ai applicazioni dove ti serve ??

Penso che qualcuno lo faccia, ma prevalentemente perchè nato per applicazioni specifiche...

Puoi comunque creare un evento su confronto per aggiornala da programma!

Link al commento
Condividi su altri siti


  • Risposte 205
  • Created
  • Ultima risposta

Top Posters In This Topic

  • Livio Orsini

    41

  • Gabriele Riva

    40

  • walterword

    25

  • sandro66

    14

mi permetto di darvi un consiglio se vi state avvicinando al mondo dei plc .

Iniziate coe le cose facili , conoscere l'ambiente , i comandi , le varaibili , e poi viene anche l'orologio ...

Link al commento
Condividi su altri siti

Iniziamo a dare le caratteristiche della CPU (alcuni di voi avevano gia' capito...):

Nella CPU utilizzeremo il modulo CUBLOC, prodotto da http://cubloc.com/, piu' precisamente CB280 o CB290 (da definire).

Info sul sistema CUBLOC su robot-italy.com

(Le immagini che seguiranno sono prelevate da tale sito).

what_002.jpg

Esso supporta la programmazione Ladder Logic integrata con il linguaggio Basic.

Eliminando, di fatto, i lati negativi della programmazione Ladder che e' ottima per rappresentare diagrammi di flusso ma e' piuttosto ostica quando si devono acquisire dati, stampare grafici, fare calcoli e altre applicazioni piu' complesse.

Con il sistema CUBLOC si ha a disposizione la semplicita' e l'efficienza della programmazione Ladder unita alla potenza e semplicita' del linguaggio Basic.

Un altro vantaggio del CUBLOC nei confronti di altri microcontrollori Basic e' la possibilita', da parte dell'Utente, di separare la quantita' di lavoro tra Ladder Logic e Basic, se desiderato.

Immagine del software di sviluppo (gratuito) CUBLOC Studio

what_004.jpg

Ci sono PLC, sul mercato, che correntemente supportano sia il Ladder che il Basic, ma questi PLC non sono multitasking come il CUBLOC.

Questo significa che il Basic e' parte del Ladder e non gira indipendentemente. Questo costa molto caro in termini di programmazione in quanto il Basic non e' un linguaggio real-time e puo' influenzare negativamente la parte Ladder del programma.

Il CUBLOC e' in grado di sopperire a queste problematiche tramite il funzionamento multitasking, garantendo accuratezza e precisione nelle temporizzazioni.

Diversamente dalla maggior parte dei microcontrollori Basic in commercio, il CUBLOC supporta processi real-time e multitasking.

what_005.jpg

Il CUBLOC ha una struttura multitasking che fa girare il Basic ed il Ladder simultaneamente.

Questo consente al programma Ladder di girare con precisione ed accuratezza mentre continuano le elaborazioni in Basic.

Come e' evidente, il CUBLOC rappresenta una nuova concezione di PLC/Microcontrollore.

Essendo in grado di svolgere le normali funzioni di un PLC con tutte le caratteristiche del linguaggio Basic, espandendo i limiti di entrambe le tipologie di sistemi.

Link al commento
Condividi su altri siti

Ladder e Basic

Il vantaggio principale del linguaggio Ladder risiede nel fatto che tutti i circuiti sono processati in Parallelo, questo significa che sono processati tutti contemporaneamente.

what_006.jpg

Come si evince dalla figura, entrambi i circuiti A e B sono in stato di attesa, pronti a generare un output appena ricevono l'input.

Lo stesso programma riportato in codice Basic ha un funzionamento Sequenziale.

what_007.jpg

Questi due tipi di programmazione sono stati utilizzati in settori differenti per lungo tempo.

La Logica Ladder e' utilizzata nell'automazione che utilizza i PLC.

Il Basic e altri linguaggi come il C e l'Assembler sono utilizzati nei PC e nei microcontrollori.

Il piu' grande vantaggio della programmazione Ladder e' quello di garantire il processo dell'input in una' unita' di tempo prefissata.

Non ha importanza quanto diventera' complesso il circuito, la Logica Ladder sara' sempre pronta a generare un output quando ricevera' gli opportuni input.

Questa e' la ragione principale per la quale e' utilizzato per l'automazione delle macchine e nei settori connessi.

La Logica Ladder e' un sistema di programmazione molto logico, che purtroppo trova limitazioni dovendo svolgere compiti complessi.

Per esempio, per ricevere dati da un tastierino numerico, visualizzare su un display LCD e processare gli input dell'Utente; e' un compito molto difficile da gestire con la programmazione Ladder.

Per contro, questi compiti raramente rappresentano un problema in un linguaggio di programmazione come il Basic.

Il Basic, infatti, e' in grado di processare numeri a virgola mobile, comunicazioni e altri compiti che metterebbero facilmente in crisi la programmazione Ladder o addirittura sarebbero impossibili da eseguire.

Un altro vantaggio del Basic sta nella sua sintassi, molto simili alla lingua Inglese (IF, GOTO, etc), questo permette a chi inizia di imparare in poche ore anziche' impiegare giorni o mesi per apprendere i fondamenti.

La CPU che andremo a realizzare, avra' a bordo:

- ingressi digitali,

- uscite digitali

- ingressi analogici (bilanciati per antifurto)

- seriale di comunicazione col PC (con possibilita' di programmazione remota mediante il modulo XPORT via ethernet

- seriale RS485 (Modbus o protocollo libero)

- I2C - SSI

- CUnet

- display a bordo o remotabile + 4 tasti funzione

- possibilita' di collegare lateralmente altri moduli

- possibilita' di remotare moduli in RS485 e display

Attualmente Livio sta' finendo le prove sul modulo encoder, poi passeremo al concentratore per antifurto e successivamente alla realizzazione della CPU.

Chi volesse iniziare a provare il software lo puo' scaricare qui

Gli esempi di programmazione sono disponibili qui

Qui sono visibili dei video sul prodotto.

Link al commento
Condividi su altri siti

Come si evince dalla figura, entrambi i circuiti A e B sono in stato di attesa, pronti a generare un output appena ricevono l'input.
Cioe' non e' sequenziale come un qualsiasi PLC? Questo potrebbe creare dei problemi a chi e' abituato a ragionare in modo sequenziale... :o

Link al commento
Condividi su altri siti

Io personalmente ancora non l'ho ancora testato, potrebbe essere un'errore.

Appena riesco faccio un po' di prove, poi ti so dire.

Link al commento
Condividi su altri siti

CITAZIONE

Come si evince dalla figura, entrambi i circuiti A e B sono in stato di attesa, pronti a generare un output appena ricevono l'input.

Cioe' non e' sequenziale come un qualsiasi PLC? Questo potrebbe creare dei problemi a chi e' abituato a ragionare in modo sequenziale...

Anche se non conosco il prodotto, secondo me il sistema operativo dovrebbe lavorare in modo sequenziale e RT per forza.

Forse dall' affermazione di Gabriele

..sono in stato di attesa...
ti fa pensare il contrario, ma non penso.

Comunque, aspettiamo la conferma.

Link al commento
Condividi su altri siti

c'era il quantum - modicon che lavorava in maniera simile

Gabriele , se un programma e' composto da 200 rung , vengono eseguiti 200 tasks?....non credo

E' piu probabile che i task siano 4 o 5 e che si possa decidere quali routines o segmenti far eseguire dagli stessi

:)

Link al commento
Condividi su altri siti

Io personalmente ancora non l'ho ancora testato
:senzasperanza:

Sembrerebbe una traduzione errata, io l'ho copiata pari pari dal sito sopra segnalato.

Link al commento
Condividi su altri siti

Gabriele , se un programma e' composto da 200 rung , vengono eseguiti 200 tasks?....

Anche se così fosse sarebbe sempre sequenziale, a meno di usare 200 processori :) .

L'equivoco è nato dal manuale che è un po' sibillino, anzi non è corretto. :(

Per spiegare la differenza di elaborazione tra lo schema a contatti e la modalità basic, hanno usato l'infelice espressione "parallel". In effetti se il compilatore del "ladder" è ben ottimizzato risolve più velocemente le equazioni booleane di quanto lo fà il compilatore "basic".

In effetti è consigliabile usare il ladder che richiama funzioni particolari in basic.

Quando cominceremo a pubblicare qualche esempio sarà tutto più chiaro.

Colgo l'occasione per aggiornare un po' la situazione.

Dunque, finalmente ho finito un lavoro "palloso" che non avevo voglia di fare. Ho testato quasi completamente un'espansione di I/O su bus I2C, quindi ora riprenderò il collaudo del posizonatore (anch'esso su bus I2C). in parallelo comincio a scrivere un po' di descrizione Hw del sistema e le scpecifiche di utilizzo.

Link al commento
Condividi su altri siti

si poteva equipaggiare l'hw con il propeller parallax al posto del cubloc :)

Propeller ha 8 processori a 32 bit con quasi 2 k di ram cache per ogni cpu ed un hub per l'accesso a ram e flash esterna .Lo usano nel kit hydra per proporre chi sviluppo di video game .

Link al commento
Condividi su altri siti

Forse hanno usato la parola parallel per spiegare che nel ladder in uno stesso ciclo vengono elaborate "parallelamente" (per modo di dire) tutte le istruzioni del listato, a differenza del basic dove il programma si può anche fermare in un punto ad aspettare un input.

Mi sembra di capire che i task siano solo 2, uno per il ladder e 1 per il basic !? o magari qualcun'altro per le routine su evento/a tempo?

Link al commento
Condividi su altri siti

a differenza del basic dove il programma si può anche fermare in un punto ad aspettare un input.

Behh, non penso... perche raggione si dovrebbe fermare ??

Modificato: da Savino
Link al commento
Condividi su altri siti

Mi sono espresso male, intendo dire che col basic puoi anche "looppare" sulla stessa istruzione o su una istruzione a monte in attesa di un consenso senza che intervenga il "cane da guardia" :lol: (watchdog).

Le istruzioni del plc invece vengono elaborate sempre tutte in un ciclo.

Anzi, ora che mi viene in mente, c'era un plc della SAIA che aveva una 15ina di blocchi "dove si poteva mettere una istruzione tipo: "Wait If 0" o "Wait If 1", a quel punto l'elaborazione di quel blocco si interrompeva e il programma proseguiva con il blocco successivo. (a me non è mai piaciuto molto questo sistema, però permetteva di scrivere un programma abbastanza velocemente).

Modificato: da JumpMan
Link al commento
Condividi su altri siti

si , per un plc e' il top fremarsi per debug con un breakpoint

Per esempio arrivi alla riga dove parte un motore di un asse , e alla riga dopo ti fermi col breakpoint

Nel frattempo va anche a berti un caffe ...e quando ritorni trovi il programma ancora fermo , e in piu anche il motore che muove l'asse .....perche l'asse si e' accartocciato a fine corsa

:lol:

Link al commento
Condividi su altri siti

si poteva equipaggiare l'hw con il propeller parallax...

Walter, sei sempre il solito. :) Si poteva usare anche un CRAI (supercomputer), però noi vogliamo stare con i piedi per terra, usare un qualche cosa non molto costoso, con tools free e che faccia il suo onesto lavoro per gli scopi previsti.

Riguardo al ladder - basic, in effetti nell'esempio che ha riportato Gabriele il programma in basic esegue due loops, quindi il sistema si fermerà all'interno dei loops fino al loro termine, mentre nel ladder tutte le righe vengono eseguite di seguito.

E' probilmente per questo che si oarla di "parallelo"

Link al commento
Condividi su altri siti

Su questo post http://www.plcforum.it/forums/index.php?s=...st&p=213442 di circa un annetto fa si parla delle limitazioni del cubloc per applicazioni industriali.

Su robot-italy.com esistono delle schete di interfaccia I/O per i cubloc con optoisolatori e poi ho visto che il cubloc supporta il ModBUS (quindi un vero e proprio bus di campo per PLC). Pensate che con queste premesse si potrsbbe pensare ad un impiego in ambiente industriale?

Per il PLC di PLCFORUM ci sono le stesse possibilità?

Che nome avrà questo PLC?

Link al commento
Condividi su altri siti

Livio però l'idea del propeller è carina anche a me viene voglia di provare Forse l'ambiente e la programmazione non è alla portata di tutti ma si potrebbero fare cose molto sofisiticate.

Ma noi mortali quando veniamo coinvolti nello sviluppo ? Avete già fatto tanitissimo se serve posso dedicarmi a scrivere documentazione (quella nessuno la vuole fare)

Link al commento
Condividi su altri siti

ahahahaahahahahah bosssss nel posto di circa un anno fa sei tu che scrivi che eì improponibile e per di piu hai fatto anche l'elenco dei motivi ahahahahahaah ...calogero che bastonata oh .....

il propeller a 8 cpu a 32 bit in formato DIP 40 pin costa circa 16-17 dollari

L'ambiente e' scaricabile gratuitamente dalla parallax .Comprende linguaggio assembly molto potente ed il linguaggio ad

alto livello SPIN , con una serie di driver e librerie da paura , tipo il rabbit ...cosi per informazione senza denigrare ne quanto meno sottovalutare il prezioso lavoro che state facendo , lo dico col cuore .

Se piu avanti avro tempo partecipero magari alla stesura di qualche routine o logica interessanti

ciao gabriele e livio , non fermatevi e continuate , come piattaforma di sviluppo il cubloc ha diverse soluzioni di cui alcune molto potenti .

ciao

walter

Link al commento
Condividi su altri siti

Livio in questo thread ha precisato che

Il sistemino dovrebbe collocarsi in fascia bassa......

Tenete comunque presente cosa si sta progettando: un piccolo PLC, non un controllo numerico o un grosso PLC dotato di comunicatori si reti e bus di campo.

Non sara un'iniziativa originale però per me c'è sempre da imparare, si possono discutere soluzioni, proporre alternative ...

Non dimentichiamo che lavorano per la gloria se ci mettiamo anche a bastonare va a finire chegli facciamo passare la voglia

Abbiamo cubloc e cobloc sia magari il progetto non sarà tecnicamente all'avanguardia ma può serivre per formare il gruppo poi forse si passerà a progetti più sofisticati (Walter hai già provato il propeller?)

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...