Vai al contenuto
PLC Forum


Qualcuno Usa Scl?


step-80

Messaggi consigliati

Buonasera, mi trovo a dover rifare un programmino su una 1212c dc/dc/dc e volevo utilizzare scl al posto di kop col quale l'avevo originariamente scritto.Qualcuno lo usa al posto del classico Kop? Come vi trovate?

Mi sono messo a smanettare un po e per esempio non ho trovato le istruzioni per rilevare i fronti di salita/discesa... Dove me li sono persi? Modificato: da step-80

Link al commento
Condividi su altri siti


Io non credo che sia una buona idea usare SCL per rifare tutto un programma scritto in KOP.

Ogni linguaggio ha pro e contro. Per la logica booleana (compreso l'utilizzo di timer, fronti ecc.) il KOP è il più semplice ed intuitivo.

L'SCL si presta bene invece per calcoli complessi ed altre cose.

Link al commento
Condividi su altri siti

Ciao

Concordo con batta

Secondo me SCL e KOP sono complementari, l'uno completa l'altro.

Personalmente scrivo FC o FB in SCL per eseguire calcoli e, per esempio, le richiamo in KOP con i miei parametri collegati, magari in un OB a tempo.

Sergio

Link al commento
Condividi su altri siti

Grazie per le risposte.

Io non sono certamente un programmatore della vostra portata,e qui non ci piove, ma devo dire che ho recentemente fatto un bel programmino in ST con un'altro ambiente di sviluppo(Schneider) e ne sono rimaso piacevolmente sorpreso. Insomma,certamente il kop è più immediato,più 'user friendly' ,ma anche ST secondo me ha il suo fascino. Per certi versi ho ritenuto più facile tenere sott'occhio le mie porzioni di codice, perchè in poche righe riuscivo a contenere parecchie istruzioni. Premetto che non sono di estrazione informatica e che i miei programmi trattano parecchia logica booleana. :smile:

Questo è il mio umile parere,che potrebbe anche cambiare nel corso del tempo,non dico di no.

Per caso tornando al discorso di prima,qualcuno sa come inserire una rilevazione di fronte (salita o discesa) ? Con Schneider si inseriva la funzione R_TRIG o F_TRIG ,assegnando a CLK il contatto del quale si voleva rilevare il fronte e poi si aveva a disposizione su Q il bit alto(o basso ) una sola scansione. Sull'aiuto in linea non ho trovato nulla(o meglio non sono stato capace di trovare nulla :P )

Grazie in anticipo

Matteo

Modificato: da step-80
Link al commento
Condividi su altri siti

Ciao Step-80, tra vari libri che ho acquistato per imparare la programmazione dei PLC, ho preso anche questo:

http://www.hoepliscuola.it/libro/645/sistemi-e-automazione/978-88-203-4971-4/sistemi-e-automazione---laboratorio-di-plc-siemens-s7-300.aspx

Tratta esclusivamente AWL ed SCL per S7-300, e ci sono anche un bel pò di esercizi svolti, io per adesso non posso neanche iniziarlo a leggerlo, perchè sono agli inizi dello studio del KOP :wallbash: , figuriamoci se per adesso posso permettermi di studiare AWL ed SCL :toobad: , però potresti acquistarlo è un piccolo libricino e costa 7-8, magari ti torna utile, ciao.

Link al commento
Condividi su altri siti

Concordo anche io con Batta...l'ideale sarebbe conoscerli entrambi ed usare quello più utile al momento giusto...di sicuro se hai a che fare con molti dati sui quali devi fare spesso le stesse operazioni in maniera indicizzata (chiudendoli in array o matrici), o operazioni cicliche di frequente, l'SCL è il linguaggio giusto. Di certo però fare una gestione degli allarmi in SCL diventa poco comprensibile.


Al seguente link c'è una sezione 'Scarica le presentazioni dei SimaticLive', dove c'è un PDF su come utilizzare l'SCL nel TIA Portal. Inoltre sulla sinistra c'è una sezione 'Scarica i video', da dove puoi scaricare dei tutorial di mezz'ora/un'ora su vari argomenti tra cui qualcosa anche sull'SCL

https://www.swe.siemens.com/italy/web/AD/ProdottieSoluzioni/Sistemiautomazionenew/Eventi/Pages/videoSIMATICLive.aspx

Link al commento
Condividi su altri siti

Ciao Step-80,potresti acquistarlo è un piccolo libricino e costa 7-8, magari ti torna utile, ciao.

Ciao Pinokkio,grazie per le dritte,a dir il vero dopo aver fatto un programma intero con ST pensavo di conoscere bene almeno le basi del testo strutturato :o

ma a quanto pare mi sbagliavo. C'è sempre qualcosa da imparare !

le istruzioni di rilevamento del fronte di salita e di discesa in SCL non ci sono. te le devi costruire.

Perfetto. Hai confermato ciò che sospettavo fortemente. Peccato non ci siano,ma credo che crearmele non sarà un problema. ;)

Di certo però fare una gestione degli allarmi in SCL diventa poco comprensibile.

Su questo non mi trovi del tutto d'accordo. Ho effettuato gestione di allarmi(pochi) per le mie macchine e mi sono trovato bene con entrambi i linguaggi: Però,come dire,capisco che la cosa possa essere soggettiva.

A parte ciò,mi sto sinceramente scoraggiando ad usare SCL col TIA,e questo credo sia dovuto in parte alla mia relativa inesperienza,ma in parte anche ad un'approccio non cosi 'immediato' con il linguaggio. Ciò mi infastidisce un pò,perchè se con Schneider sono arrivato ad appassionarmi...non vedo perchè con Siemens dovrebbe passarmi la voglia,eppure stiamo parlando dello stesso linguaggio :huh:

Ripeto,io ci metterò del mio,ma vorrei capire una cosa: quando richiamo un blocco funzione qualsiasi(faccio l'esempio dei blocchi funzione MC perchè ora sto utilizzando quelli)non lo posso trascinare sulla riga voluta, assegnare il nome dell'asse a cui fa riferimento, e poi basta?

Di solito facevo cosi,ed andavo a scrivere direttamente sulle variabili del db di istanza del blocco (es MoveAbsolute1.execute oppure MoveAbsolute1.Position ecc) senza quindi assegnargli variabili . E' sbagliato ? Perchè noto che se non si inserisce un qualsiasi parametro,sia esso di entrata,uscita o altro in compilazione mi viene generato l'errore 'istruzione incompleta'. Sono obbligato ad assegnare tutti i parametri? Lo strano è che in Kop questo non succede,esempio se lascio incompleto il bit di uscita 'error' volendo puntare direttamente su quello lo posso fare...Cosa sto sbagliando?

Grazie a tutti della pazienza :worthy: :worthy:

Link al commento
Condividi su altri siti

Scusa Step-80, che versione di TIA Portal stai usando? Perchè io sto usando la V12 SP1 update 3 e dentro questo editor trovo, nell'SCL, anhe le istruzioni R_TRIG ed F_TRIG sia nel 1200 che nel 1500...inoltre riesco ad inserire il richiamo delle istruzioni tecnologiche passando in ingresso soltanto l'asse e la compilazione non mi dà problemi...può essere che l'abbiano messo a posto con le nuove versioni? O stai sbaglando qualcosa?

Link al commento
Condividi su altri siti

e271.jpg

Questa è la versione in mio possesso di Tia Portal.

Per quanto riguarda le istruzioni dei fronti da me nemmeno l'ombra,tu dove le trovi?Nell'editor di destra,sotto "istruzioni di base"?

Per quanto riguarda le istruzioni tecnologiche, sono riuscito a fare una cosa del genere: trascino il blocco nell'editor e nomino il db di istanza,a questo punto mi appaiono tutti i parametri in e out del blocco. Se assegno il nome dell'asse(che è obbligatorio naturalmente) poi posso chiudere la parentesi e cancellare tutti gli altri parametri che non mi interessano. In questo modo la compilazione va a buon fine. Trovo comunque strano che bisogna ricorrere a questi metodi ma,ripeto, potrebbero essere mie lacune o errori da ignorante.

Un altra cosa non mi torna: c'è modo di inserire un blocco(restiamo coi blocchi tecnologici ad esempio)senza trascinarlo fisicamente nell'editor per poi cancellarne il 90% ??

Il blocco deve essere per forza richiamato nel programma ,ad esempio con la sola assegnazione dell'asse? Mi capita ad esempio anche coi temporizzatori...Scusate la profonda ignoranza,potreste dirmi benissimo di lasciar perdere scl che mi incasina solo la vita ma...la mia curiosità non ha limiti,mi rimarrebbe sempre e comunque l'amaro in bocca! :P

Link al commento
Condividi su altri siti

Si, mi sa che e hanno inserite nella V12 allora...sotto Istruzioni di base--> 'Combinazioni logiche di bit'.

Nella V12 se tu inserisci un blocco, per drag&drop, poi gli ingressi e uscite che non usi te li nasconde in automatico...se vuoi puoi farli riappaire con un tasto sopra l'editor.

Per il richiamo del blocco, o lo trascini, oppure inizi a scrivere il nome del blocco e l'editor ti propone in automatico tutti quelli che iniziano con quel nome, lo scegli con le frecce sulla tastiera e clicchi invio. Questi sono i due metodi...non credo ce ne siano altri.

No, non è ignoranza, è solo che la tua versione ha qualche funzionalità in meno... :-)

Cosa intendi se il blocco deve essere per forza richiamato? Se non lo richiami il PLC ovviamente non lo esegue...

Link al commento
Condividi su altri siti

Allora nella mia versione qualcosa effettivamente manca... nel mio editor,sotto ' combinazioni logiche di bit' ci sono solo :DECO, ENCO,SEL,MUX, DEMUX.

Quando dicevo se il blocco deve essere per forza richiamato intendevo se deve per forza essere fisicamente presente in una riga del programma. La logica mi direbbe di si,ovviamente perchè giustamente come dicevi tu se non viene richiamato non viene eseguito.

Un ultima cosa: per richiamare il blocco per esempio MC_moveabsolute al quale voglio passare solo il nome dell'asse, fa differenza scrivere :

MC_mymoveabsolutedb(axis:=myasse);

oppure scrivere:

MC_mymoveabsolutedb.axis:=myasse;

Grazie per la pazienza

Link al commento
Condividi su altri siti

Bella domanda...In realtà secondo me nel secondo caso non richiama la funzione ma semplicemente copia il contenuto della struttura 'myasse' all'interno della DB 'MC_mymoveabsolutedb'. Nel primo caso, oltre a fare questo lavoro, richiama anche la funzione...

Modificato: da Elvezio Franco
Formattazione testo troppo piccola
Link al commento
Condividi su altri siti

Ragazzi ma a voi risulta che usando SCL non esiste la modalità online?

Ho caricato il programma e sono sono andato online,e mi aspettavo che le variabili ed i campi i/o fossero visibili,invece nulla... l'FC che ho inserito invece in Kop va tranquillamente come al solito... :( :( :(

Link al commento
Condividi su altri siti

Eh magari! Il "comanda a 1 " lo cercavo pure io ! C'è in kop ma in scl non sono riuscito a trovarlo. Mah...possibile che un linguaggio cosi evoluto su una delle piu conosciute piattaforme mondiali sia così pieno di lacune?

Link al commento
Condividi su altri siti

step-80, non so che versione di TIA Portal stai usando ma anche il 'comanda a 1' o 'comanda a 0' io ce l'ho sul mio...hai una versione che probabilmente ha delle lacune ma sia i fronti di salita, sia il 'comanda a 1'/'comanda a 0', sia l'online sulla V12 SP1 V13 ci sono...che altre lacune ci sono secondo te?!?

Link al commento
Condividi su altri siti

Come dicevo qualche post indietro la mia versione è la v11 sp3, se vado online in kop faccio tasto destro sulla variabile e compaiono varie opzioni tra le quali il comanda variabile.

Se faccio la stessa cosa in scl l'unica opzione che mi da è " modalità di visualizzazione" e spuntato mi da "automatico" e "decimale".

Boh....

Comunque ho già ri-riscritto il programma in kop, col quale andare online è tutta un'altra cosa.

Ora che li ho utilizzati entrambi (Tia Portal e Somachine)posso dire che per quanto il kop il Tia è leggermente migliore, permettendoti il drag & drop praticamente con tutto..a differenza di Somachine che con qualche trucchetto peró diventa piu fruibile.

Per quanto riguarda SCL peró non c è proprio storia peró...

Link al commento
Condividi su altri siti

io SCl lo uso spesso , ma non per lavorare sulle logiche di macchina

Per il filtraggio ingressi , richieste di comando manuali , allarmi , richieste di azioni automatiche o passi automatici uso il kop implementando quella/e che si chiamano machcine a stati finiti che si sincronizano fra le diverse macchine , in genere ogni macchina del'limpianto esegue ma propria macchina a stati in automatico .In awl scrivo le funzioni veloci a basso livello e le funzioni di gestione inverters e azionamneti in FB

SCL lo uso per lavorare sulle formule e soprattutto per lavorare sulla gestione dei dati , gestire strutture dati abbastanza complesse e ben articolate , inserire , prelevare e manipolare tracking dei dati , quote di posizionamento e altre attività di carattere computazionale

Scrivere le logiche macchina in scl lo trovo scomodo soprattutto per il debug , non e' per nulla veloce e tempestivo l'intervento quando c'e' una fotocellula o un proxy che non si leggono

ciao

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