Variabili 840D

Rispondi
Ghiacciulino
Newbie
Newbie
Messaggi: 21
Iscritto il: lunedì 23 agosto 2021, 9:34

Variabili 840D

Messaggio da Ghiacciulino » martedì 31 agosto 2021, 15:08

Buongiorno ragazzi!

Ma qualcuno saprebbe spiegarmi le variabili come si dichiarano e quali sarebbero con Siemens 840D?

A differenza di fanuc non mi riconosce "#"

Grazie

Mg87
Newbie
Newbie
Messaggi: 4
Iscritto il: domenica 8 novembre 2020, 8:32

Re: Variabili 840D

Messaggio da Mg87 » martedì 31 agosto 2021, 18:34

Devi scrivere R1 R2. ..ECCC ...

Ghiacciulino
Newbie
Newbie
Messaggi: 21
Iscritto il: lunedì 23 agosto 2021, 9:34

Re: Variabili 840D

Messaggio da Ghiacciulino » martedì 31 agosto 2021, 21:02

In che senso? Per dargli un valore scritto tipo:
R1==1
E per usarla metto solo
G0 XR1?

mecha
Member
Member
Messaggi: 423
Iscritto il: venerdì 13 marzo 2009, 22:00
Località: udine

Re: Variabili 840D

Messaggio da mecha » giovedì 16 settembre 2021, 23:44

Ti conviene scaricare un manuale di programmazione per avere un'idea di cosa si puo' fare con le variabili sul 840.
Usare solo le R e' molto riduttivo anche se e' la via piu' simile agli altri cnc.
Le variabili sono simili alla programmazione c e ad arduino.
Tornando alle R:
- la r e' seguita da un numero R1 R2....ecc mi sembra fino a 100 ma probabilmente dipende dalla configurazione
- per assegnare un valore o fare un incremento r1=10 r1=r1+1 r1=r2+r3
- per muovere gli assi g1 x=r1 g0x=ic(r1) g0x=r1+10
- confronto if(r1<=100)
.......
endif
mandi
Mecha

torn24
God
God
Messaggi: 5076
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Variabili 840D

Messaggio da torn24 » venerdì 17 settembre 2021, 6:12

Ho scaricato un manuale di parametrica cnc siemens, avevo curiosità ma non ho mai approfondito, non ho mai lavorato su controlli siemens e non è neanche un cnc diffuso come Fanuc o mitsubishi, per cui non mi sono messo a studiarlo approfonditamente.
Faccio qualche considerazione, tutti i linguaggi macro di vari cnc che conosco, si può dire che sono limitati e o rudimentali rispetto a linguaggi di programmazione usati per l'informatica, nonostante ciò, con accorgimenti, si riesce ad ottenere tutto il necessario che serve nelle lavorazioni.
Siemens ha avuto un approccio diverso col suo linguaggio macro, è un vero linguaggio di programmazione completo che ha tutte le cose che trovi in un linguaggio di programmazione per PC.
Esempio si possono creare variabili con la parola chiave DEF tipo e nome, mentre nella maggior parte dei cnc, le variabili non hanno tipo.
Il fatto è questo, essendo più completo ci sono più cose da sapere, quindi diventa più difficile impararlo tutto, ma è anche vero che se ad esempio su Fanuc riusciamo a fare tutto con poche cose, anche con siemens possiamo limitarci a imparare le cose fondamentali e più importanti, riuscendo a fare la maggioranza delle cose.
Aggiungo che se con Fanuc e simili si può imparare abbastanza facilmente il linguaggio macro, senza aver mai programmato, con siemens sarebbe molto meglio conoscere già un linguaggio di programmazione informatico con tipi per le variabili.
CIAO A TUTTI !

mecha
Member
Member
Messaggi: 423
Iscritto il: venerdì 13 marzo 2009, 22:00
Località: udine

Re: Variabili 840D

Messaggio da mecha » mercoledì 22 settembre 2021, 18:34

Concordo in pieno.
Se uno usa solo le variabili r le differenze non sono molte.
Ma la differenza si vede quando si devono fare programmi complessi con molte variabili e magari con passaggio di variabili al sottoprogramma, poterle definire e sopratutto nominare a piacimento rende molto più comprensibile il tutto.
Anche la gestione del flusso del programma é molto più articolata grazie a salti e istruzioni condizionali molto più complesse.
Come hobby , anni fa, mi ero studiato il linguaggio C e quindi ,vista la somiglianza ,conoscevo già quasi tutto della programmazione Siemens.
Oltre a questo, lavoravo in un’azienda che mi ha lasciato studiare i manuali e sperimentare quello imparavo nei momenti in cui le consegne lo permettevano….tre manuali spessì come elenchi telefonici in cui peró c’é tutto, Siemens é un controllo aperto in cui uno puó vedere tutte le variabili, i cicli, i programmi creati dal costruttore ecc.
Uno che non ha delle basi di programmazione non riesce facilmente a usare queste caratteristiche.
Per contro l’840 base é piuttosto scarno e non é pratico come selca per le lavorazioni piú comuni.
Migliora un po’ con shopmill ma di base ci sono cose che avrebbero potuto semplificare.
Penso che un controllo con una buona base di cilci giá pronta e funzionale renda quasi sempre superflue tutte queste caratteristiche, io le ho usate per cicli di spianatura, tcp rotazione testa, traslazione origine con rotazione tavola, chiavette..ecc e per semplificare un po’ la programmazione in mdi (facevo molte operazioni in mdi senza stare a creare un programma)
Tutta roba che i controlli attuali giá hanno :roll:
Mandi
Mecha

Ghiacciulino
Newbie
Newbie
Messaggi: 21
Iscritto il: lunedì 23 agosto 2021, 9:34

Re: Variabili 840D

Messaggio da Ghiacciulino » martedì 21 dicembre 2021, 20:18

Ragazzi grazie mille a tutti! Siete stati molto utili!

Se nessuno vuole aggiungere altre info per me si può chiudere.. grazie mille!

=D> :hello1: :headbang:

ca75
Junior
Junior
Messaggi: 79
Iscritto il: venerdì 12 ottobre 2012, 23:26
Località: Gargallo

Re: Variabili 840D

Messaggio da ca75 » venerdì 24 dicembre 2021, 20:31

In realtà c’è una grossa differenza, la visibilità delle variabili.

I parametri R sono globali, le variabili sono locali.

Per usare la sintassi è

Codice: Seleziona tutto

def real spp
def int numero
a seconda se vuoi una variabile intera o reale.

Codice: Seleziona tutto

spp=4
…..
G1 X=(44.8) ;
G1 Z=(-56-SPP);
G1 X=(43.8) F0.23 
….
La usi come un parametro R sapendo però che anche cambiandola ha effetto solo su quel programma per cui se usi più sottoprogrammi assieme è comodo.

Kappa6
Newbie
Newbie
Messaggi: 5
Iscritto il: giovedì 6 gennaio 2022, 12:01

Re: Variabili 840D

Messaggio da Kappa6 » giovedì 6 gennaio 2022, 14:36

Mi aggiungo anche io con una domanda. Ho capito, come qualcuno ha già scritto sopra, che è importante conoscere un linguaggio di programmazione, magari prima di affrontare linguaggi macchina Siemens o Fanuc. Mi sono imbattuto così nel Basic del Commodore ed ho iniziato a studiarlo. Arrivo da sette anni in cui ho visto molti cicli fissi personalizzati dal mio ex titolare, Siemens 840d. Vorrei intanto imparare questo, poi passare al Fanuc, non ricordo la versione, per provare a fare qualcosa sul tornio appena comprato dal mio attuale titolare. Che manuali consigliate per il Siemens? Grazie. Sarà poi possibile postare qualche esempio e, eventualmente, essere corretto? Grazie.

Kappa6
Newbie
Newbie
Messaggi: 5
Iscritto il: giovedì 6 gennaio 2022, 12:01

Re: Variabili 840D

Messaggio da Kappa6 » venerdì 7 gennaio 2022, 15:45

Trovato un esempio per provare a saltarci fuori.
Sottomano ho il "manuale di programmazione cicli" siemens 840d, pagina 109 ciclo "LONGHOLE".
Mi dà tutta la lista di valori da immettere, ogni valore corrisponde ad un parametro e questo l'ho capito.

Direttamente dal manuale

N10 G19 G90 S600 M3 ;Definizione dei valori tecnologici
T10 D1
M6
N20 G0 Y50 Z25 X5 ;Accostamento alla posizione iniziale
[ N30 LONGHOLE (5, 0, 1, , 23, 4, 30, -> ;Richiamo del ciclo
-> 40, 45, 20, 45, 90, 100 ,320, 6) ]
N40 M30 ;Fine programma

Dove sono indicati i movimenti in G0 o G1? Quello che vorrei capire è come scrivere "migliorandolo", se possibile, il ciclo per poterlo leggere tutto.

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Variabili 840D

Messaggio da safe60 » venerdì 7 gennaio 2022, 19:23

Ti posso dare solo una risposta parziale riguardo dove sono i movimenti G0 e G1. Sono ovviamente richiamati dentro la funzione LONGHOLE. In realta' questa e' sicuramente un vero e proprio programma che si occupera' di gestire i 15 (!!!) parametri che la funzione richiede e provvedera' a svolgere gli opportuni calcoli e a richiamare i comandi che muoveranno fisicamente l'utensile.

Il linguaggio di programmazione di Siemens e' estremamente completo ed e' molto vicino a un vero linguaggio di programmazione come quelli ai quali si puo' essere abituati sui PC. Consente di "nascondere" dietro una chiamata di funzione l'esecuzione di programmi anche estremamente complessi. C'e' una buona cosa che mi e' stata estremamente utile nel mio lavoro di sviluppatore di post processors : Siemens per quello che mi risulta e' l'unica azienda che rende disponibili i codici sorgenti dei comandi. Quello che voglio dire e' che, se se hai accesso a una macchina con controllo Siemens dove la funzione LONGHOLE() viene eseguita, c'e' un'ottima probabilita' che in qualche directory del controllo ci sia il codice sorgente della funzione che potrà essere quindi studiato per vedere come funziona e usato come base per crearne una versione personalizzata.
More Maiorum

Kappa6
Newbie
Newbie
Messaggi: 5
Iscritto il: giovedì 6 gennaio 2022, 12:01

Re: Variabili 840D

Messaggio da Kappa6 » sabato 8 gennaio 2022, 11:42

Grazie mille. Immaginavo che i codici G0 ecc fossero nascosti in qualche directory. Il problema è che avendo cambiato lavoro non ho più accesso alle macchine e di conseguenza alle directory.. Se qualcuno può aiutarmi in tal caso, ringrazierei molto volentieri.

Coz892
Newbie
Newbie
Messaggi: 2
Iscritto il: mercoledì 18 maggio 2022, 13:19

Re: Variabili 840D

Messaggio da Coz892 » giovedì 19 maggio 2022, 11:33

Scusa dove hai scaricato il manuale di programmazione parametrica del Siemens?

mecha
Member
Member
Messaggi: 423
Iscritto il: venerdì 13 marzo 2009, 22:00
Località: udine

Re: Variabili 840D

Messaggio da mecha » sabato 23 luglio 2022, 23:49

I cicli siemens sono in una cartella apposita, i cicli costruttore in un'altra e c'é una cartella anche per i cilcli utente costruiti dall'operatore. Penso che ci voglia l'autorizzazione massima per poter modificare o anche solo vedere le cartelle oltre quella utente, quella che si ottiene inserendo la password.
I cicli sono dei sottoprogrammi che possono essere richiamati anche in mdi, che possono avere un passaggio di variabili dal programma chiamante (devono essere dichiarati come tali peró) e che possono essere modali aggiungendo mcall alla chiamata.
Per quel che riguarda la programmazione ora stó usando heidenhain 640 e mi sembra di essere tornato ad usare il pallotoliere :( .
Stando ai manuali in mio possesso non c'é nemmeno un if then decente, quello che usano é simile a una condizione assembler: se la condizione é vera salta alla label...questo complica notevolmente il programma che perde il flusso lineare e ti costringe a fare continui salti alle label, in piú, non ci sono tutti i confronti canonici ( =, <>, <, >, <=, >=, !) ma solo i primi 4 e non esite and, or, xor quindi per fare un "if condizione1 and condizione2 then faiqualchecosa" bisogna fare un "aggrovigliamento" di if heidenhain che aumentano notevolmente il rischio di errori e rendono il programma mal leggibile.
Siemens ha i suio difetti aggirabili peró dalla sua libertá di programmazione.
Non ho idea peró se i nuovi controlli siemens abbiano queste caratteristiche.
Mandi
Mecha

Rispondi

Torna a “Siemens”