Vai al contenuto
PLC Forum


Sinumerik840d Movimenti Da Plc


TMlm

Messaggi consigliati

ciao a tutti,

ho un trasfert ad 8 assi gestito da un sinumerik840D con PLC 315 2DP integrato.

gli assi sono configurati in questo modo

1 - X

2 - asse elettrico di 1

3 - asse elettrico di 1

4 - Y

5 - asse elettrico di 4

6 - asse elettrico di 4

7 - Z

8 - asse elettrico di 7

in questo momento i movimenti sono programmati in una sequenza ISO e l'esecuzione di questo programma iso viene gestita dal plc integrato tramite comandi di start-stop canale. il PLC riceve la segnalazione di movimento eseguito da comandi M.

Non mi sembra molto ben congeniato e ad oggi avrei bisogno di modificare anche il percorso del trasfert in funzione di nuove ricette (non solo le quote, ma anche il numero di movimenti).

Inoltre capita che alcuni movimenti, credo a causa della gestione start-stop, non vengano fermati esattamente sul comandoM, infatti succede che a trasfert fermo, se si cambia una quota di destinazione e si fa ripartire il trasfert, il primo movimento viene eseguito con la vecchia quota, come se il CN eseguiva già il movimento alla vecchia quota al momento dello stop.

Pensavo quindi di eseguire i movimeti direttamente da PLC ma non so se è possibile e se lo fosse, ovviamente non so come si fa.

avrei bisogno quindi di sapere come si muove un asse da PLC e come si possono raccordare due movimenti consecutivi.

ringrazio in anticipo chiunque mi può spiegare se le mie supposizioni sulla mancata lettura della nuova quota siano valide e soprattutto chi mi da una traccia sul come gestire i movimenti da PLC (si accettano nuove strade da percorrere.)

Ciao e se siete arrivati a leggere fino a qui, o siete curiosi o molto pazienti o entrambi.

Link al commento
Condividi su altri siti


Gabriele Corrieri

Ciao Luca,

non sono un guru di CNC, ma l'dea di lasciare il controllo assi del CN per pilotare il PLC mi sembra un po' troppo stonata ...

E' probabilmente saggio che tu senta chi ha costruito e programmato il Sinumerik, oppure direttamente Siemens, ci sono validissimi tecnici che sapranno aiutarti, anche via telefono, alla HotLine, ed eventualmente, ed a pagamento, direttamente sul posto.

Ciao

Link al commento
Condividi su altri siti

Ciao Luca,

non sono un guru di CNC, ma l'dea di lasciare il controllo assi del CN per pilotare il PLC mi sembra un po' troppo stonata ...

ciao Gabriele

hai ragione, non volevo lasciare definitivamente il controllo del CN. E per PLC intendo quello integrato nel sinumerik. mi chiedevo se c'era un altro modo di dire al CN da parte del PLC di andare da pos1 a pos2, senza essere vincolati da un programma ISO in esecuzione sul CN.

In base a cosa vai a richiamare le missioni degli assi??)

ciao raf_de1

richiamo già i movimenti da plc, in base a determinati stati di ingressi e uscite.(la logica la spiego alla fine per non incasinare il post

Puoi anche programmare il plc in modo che vada a richiamare le posizioni che ti servono

credo sia quello che vorrei fare, ma mi piacerebbe anche saperlo fare. sai che fb,fc,db usare? (naturalmente su step7 ho il pacchetto sinumerik)

La logica attuale è questa:

il programma iso riceve 8 variabili dal plc, da r0 a r7, alcune contengono riferimenti a quote, una contiene il tipo di movimentazione che il trasfert deve compiere.

Diciamo che in base a quest'ultima variabile, il CN salta da un punto all'altro del programma iso per eseguire le istruzioni adeguate. fin qui andrebbe bene, se non che, oltre a non essere molto ortodosso come metodo, rischia di non funzionare, infatti come dicevo nel post precedente, il PLC deve fermare il CN dopo ogni istruzione per motivi di sicurezza e di produzione, per poi farlo ripartire.

Ma capita che vengano cambiate delle quote o dei movimenti prima di dare un nuovo start, e quando lo start arriva al CN, questo muove gli assi come se nel buffer che contiene l'istruzione che deve eseguire ci sia ancora una vecchia quota o peggio un vecchio movimento. (coincide con il movimento successivo a quello che aveva terminato). probabilmente è un problema di tempo di esecuzione del ciclo da parte del plc, ma è proprio il metodo che non mi piace.

Link al commento
Condividi su altri siti

scusate se scasso, ma sono in difficoltà, e all'hotline spesso dicono "ma per questo bisogna che senti quelli di Simatic.." e quelli di Simatic:"..ok, per il resto non saprei, dovresti chiedere ai tecnici sinumerik.."

Ciao Luca,

non sono un guru di CNC, ma l'dea di lasciare il controllo assi del CN per pilotare il PLC mi sembra un po' troppo stonata ...

ho nuovamente riflettuto sulle parole di gabriele;

forse potrei inserire sul programma del CN dei comandi tipo WAIT, oltre ai comandi M che indicano al PLC che è stato appena terminato un movimento (ci sono altri modi? dare un M non mi sembra molto elegante).

N10 X1=R1 F=1000 ;primo movimento

N20 M80 ;setto il flag che leggo dal PLC per capire che il movimento precedente è terminato

N30 ; qui dovrei inserire un comando WAIT che mi attende lo stato di un flag scritto dal PLC

N40 X1=R2 F=1000 ;secondo movimento

Esiste un comando wait da inserire in N30 in modo che il CN attendi un comando da PLC?

Alla lettura del comando M80, il PLC potrebbe cambiare la quota R2; il movimento verrebbe eseguito alla nuova quota? oppure l'istruzione è già caricata con la quota R2 prima della modifica?

Link al commento
Condividi su altri siti

Io i comandi manuali li eseguo con le funzioni sincrone.

Per arrestare il programma dopo un movimento si possono usare le funzioni di sistema (standard mondiale)

M0 arresto programmato

M1 arresto opzionale

per scegliere i percorsi da fare eseguire al CN, si possono usare in maniera un po' piu' semplice le variabili $A_DBB $A_DBW ect, impostate da PLC.

Link al commento
Condividi su altri siti

non è da molto che traffico con il sinumerik, per cui devo ancora entrare in confidenza con la montagna di manuali che la mamma ci mette a disposizione.

nel frattempo che cerco, sarei grato se qualcuno mi lancia nel manuale giusto per gli argomenti segnalati da werner.

Stavo anche valutando di inserire uno STOPRE dopo ogni comando M che segnala al PLC di aver raggiunto la quota desiderata. In questo modo dovrei fare in tempo a fermare la lettura sul canale prima che il CN elabori le istruzioni successive.. giusto?

ciao e intanto ringrazio werner per le nuove strade che mi ha aperto.

Link al commento
Condividi su altri siti

Per bloccare la lettura del programma c'e' il segnale di read-in del canale.

Secondo me, si puo' operare su un CN (Sinumerik) solo previa lettura dei seguenti manuali:

-Funzioni base FB1 solo in inglese

-Funzioni estese 1 FB2 solo in inglese

-Liste LIS solo in inglese

-Programmazione base

-Programmazione avanzata

-Messa in servizio Sinumerik con Simodrive

Link al commento
Condividi su altri siti

Grazie ancora werner,

tra 600Mb di pdf vari ero un po' titubante, nel frattempo ho trovato anche questa utilissima guida sulle funzioni sincrone: "Description of Functions Synchronized Actions 840D/840Di/810D"

spero di trovare li qualche riferimento ai tuoi consigli. è un manuale un po' più chiaro per chi deve solo fare delle modifiche software ad una macchina con sinumerik.

Comunque è questo il metodo più adatto a sincronizzare il PLC con il CN ?

PLC-->CNC avvio lettura programma

CNC esecuzione movimento

CNC-->PLC comando M + STOPRE

PLC-->CNC stop lettura programma

PLC elaborazione I/O

PLC-->CNC avvio lettura programma

......

per scegliere i percorsi da fare eseguire al CN, si possono usare in maniera un po' piu' semplice le variabili $A_DBB $A_DBW ect, impostate da PLC
su queste variabili posso mettere quindi anche delle quote? ed eseguire direttamente delle istruzioni tipo:

N10 X=$ADBD --> come si punta alla variabile DB101.DBD0 per sempio?

io attualmete tramite le funzioni FB2 "GET" e FB3 "PUT" da PLC leggo le quote attuali degli assi e imposto le quote che il CN deve raggiungere su delle variabili R.

Vuoi dire che posso fare a meno di questo?

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