Nembered Paramenters accessibility.
As I wrote before :
The Numbered Parameters have to be accessible also during the machine run (G code main program in execution) .
and also the Numbered Parameters must be accessible from a GUI embedded or not .The operator/supervisor must be able to change Numbered Parameters values without edit any kind of G code file.
For this kind of application the customer do not accept other kind of machine cycle setput.
bigalex
Please Log in or Create an account to join the conversation.
R201=0 R202=0 R203=0 R210=0 R211=0 R251=0 R252=0 R253=0
M09
M15
IF R20==1 GOTOF NOSET
MSG(”Attesa pulsante azzeramento assi”)
M37 H1=35
H1=36
G74 Y1=0 ; Azzeramento asse Verticale
G74 Z1=0 ; Azzeramento asse Tazza
G74 X1=0 ; Azzeramento asse Traslazione
NOSET:
MSG(”Attesa pulsante start ciclo”)
M38 H1=1
INIZIO:
R252=0 R253=0 R255=0
H1=2
MSG ( “Posizionamento inizio ciclo”)
G90 G0 Y=R72 Z=R71
X1=R61
Y=R73 Z=R62
RITORNO:
R255=0
G90 G0 Z=R62
STOPRE
MSG (“Attesa chiamata conchigliatrici”)
M08 H1=3
STOPRE
TE R210<>4 GOTOF SETDATA
R210=0
SETDATA:
MSG(”Attesa set parametri chiamate”)
STOPRE
H1=4
ATTSET:
STOPRE
G04 FO.5
R212=R8+R9+R10+R11
lF R212==0 GOTOB ATTSET
R210=R210+1
STOPRE
CHECKCALL:
lF R210==R8 GOTOF CONCH1
lF R210==R9 GOTOF CONCH2
lF R210==R10 GOTOF CONCH3
IF R210==R11 GOTOF CONCH4
GOTOB CHECKCALL
MSG(”Errore codice chiamata premere RESET CICLO”)
ERRCOD:
GOTOB ERRCOD
CONCH1:
R211=1
R231=R101 R232=R102 R233=R103 R234=R104 R235=R105 R236=R106 R237=R107 R238=R108
R239=R109 R240=R110 R241=R111 R242=R112 R243=R113 R244=R114 R245=R115 R246=R116
R247=R117 R248=R118 R249=R119 R250=R120
GOTOF ENDSET
CONCH2:
R211=2
R231=R121 R232=R122 R233=R123 R234=R124 R235=R125 R236=R126 R237=R127 R238=R128
R239=R129 R240=R130 R241=R131 R242=R132 R243=R133 R244=R134 R245=R135 R246=R136
R247=R137 R248=R138 R249=R139 R250=R140
GOTOF ENDSET
CONCH3:
R211=3
R231=R141 R232=R142 R233=R143 R234=R144 R235=R145 R236=R146 R237=R147 R238=R148
R239=R149 R240=R150 R241=R151 R242=R152 R243=R153 R244=R154 R245=R155 R246=R156
R247=R157 R248=R158 R249=R159 R25O=R160
GOTOF ENDSET
CONCH4:
R211=4
.................
Please excuse me if the MSG are in Italian.
bigalex
Please Log in or Create an account to join the conversation.
Hi John.
As I wrote before :The Numbered Parameters have to be accessible also during the machine run (G code main program in execution) .
and also the Numbered Parameters must be accessible from a GUI embedded or not .The operator/supervisor must be able to change Numbered Parameters values without edit any kind of G code file.
For this kind of application the customer do not accept other kind of machine cycle setput.
bigalex
So your saying the parameters are changed while the robot is in motion? This will not work IMHO with LinuxCNC.
I didn't say the operator would edit the G code file... perhaps I didn't explain the idea well.
You make a screen that has the parameters on it and has a save button.
The save button writes the new G code file over the old file and via the python interface it also loads the file. The interpreter will have to be in the idle state to load the file otherwise you will get an error.
Of course this is impossible to do while the robot is in motion as well as any other changes you might try.
Please Log in or Create an account to join the conversation.
Thaks for the reply.
As I wrote I have to be able to do that as per customer specification and because is how the machine should work.
I understand that LCNC is "a free and powerful machine controller" and what I need is out of the range.
This means that I cannot use LCNC for this application .
Anyway thank you !
bigalex
Please Log in or Create an account to join the conversation.
John
Please Log in or Create an account to join the conversation.
Why it is a shame ?
As I told before :
I did this kind of application using CNCs and PLC+HMI either and with both technology solution everything worked .In the past I used different CNC systems (Siemens , AB .... ) and the access to their Numbered Parameters was transparent from
the GUI
The piece of G code that I posted is a part of a program that run the robot on a Siemens CNC 800 serie so CNC control software
can perform the task but LCNC cannot .
I made application software for the Allen Bradley CNC 8600GP in the 1994/95/96 for control foundry robot at Ford Essex Aluminum Plant
Windsor Ontario Canada.
So please it is not nice to say
It's a shame it took you so much time to realize that CNC control software is not a fit for your application. It did start to look like a HMI + PLC application early on to me.
bigalex
Please Log in or Create an account to join the conversation.
I'm not familiar with Siemens CNC robot software/hardware so I can't comment on that. However every CNC machine (milling machine, lathe, plasma) I've ever touched will not allow you to load a program while running.
John
Please Log in or Create an account to join the conversation.
If you create a GladeVCP GUI then, in the dev version, with HAL turned on, the G-code can "see" the values in GUI number boxes because they can appear on HAL pins, and HAL pins can be visible.
At that point the only "missing link" is an embedded routine in the GUI to save the values to file on close, and restore on open.
Please Log in or Create an account to join the conversation.
Thanks again for your kindly attention.
To John:
The .ngc program is not loaded while the robot is running because it is not needed.
The point is that while the .ngc program is in execution the CNC GUI allow the operator to change the
Numbered Parameters values in "real time" with the execution.
So I always have the MAIN G code program running and I can modify the axis positions , speeds (feeds) and whatever
value I can set into a Numbered Parameter without stopping and restarting the MAIN G code execution.
It is like to say that the Numbered Parameters values are resident into a "shared memory" that is accessible from outside programs.
Infact it is possible to modify Numbered Parameter values also from the embedded PLC or external PLC too (Siemens CNC but not the only one).
To Andy:
For dev version do you mean getting it from "git" ?
At the moment I'm using a test PC with Ubuntu Hardy 8.04 and LCNC 2.5.2 (stepper configuration) installed but I understood that I need
an Ubuntu Lucid 10.04 installation to use it with GladeVCP isn't it ?
In case I can try to make a new installation with the latest features.
Because I'm almost a newbee with Linux systems I need help on the compiling of a development installation.
So if you can support me in some way I appreciate.
Honestly I don't know how the LCNC core is made and I don't have the skills to investigate this.
I'm only an automation integrator so what is important for me is to understand when a system configuration
(CNC-PLC-HMI-DRIVES&MOTORS-FIELDBUS and so on) can be used or not for a specific application
evaluating the features of the whole system itself.
I'm italian and it's not so easy for me to express the concepts clearly as you people like.
So please be undulgent.
bigalex
Please Log in or Create an account to join the conversation.
This is a piece of the MAIN .ngc program so you can see the programming style I used :
R201=0 R202=0 R203=0 R210=0 R211=0 R251=0 R252=0 R253=0 M09 M15 IF R20==1 GOTOF NOSET MSG(”Attesa pulsante azzeramento assi”) M37 H1=35 H1=36 G74 Y1=0 ; Azzeramento asse Verticale G74 Z1=0 ; Azzeramento asse Tazza G74 X1=0 ; Azzeramento asse Traslazione NOSET: MSG(”Attesa pulsante start ciclo”) M38 H1=1 INIZIO: R252=0 R253=0 R255=0 H1=2 MSG ( “Posizionamento inizio ciclo”) G90 G0 Y=R72 Z=R71 X1=R61 Y=R73 Z=R62 RITORNO: R255=0 G90 G0 Z=R62 STOPRE MSG (“Attesa chiamata conchigliatrici”) M08 H1=3 STOPRE TE R210<>4 GOTOF SETDATA R210=0 SETDATA: MSG(”Attesa set parametri chiamate”) STOPRE H1=4 ATTSET: STOPRE G04 FO.5 R212=R8+R9+R10+R11 lF R212==0 GOTOB ATTSET R210=R210+1 STOPRE CHECKCALL: lF R210==R8 GOTOF CONCH1 lF R210==R9 GOTOF CONCH2 lF R210==R10 GOTOF CONCH3 IF R210==R11 GOTOF CONCH4 GOTOB CHECKCALL MSG(”Errore codice chiamata premere RESET CICLO”) ERRCOD: GOTOB ERRCOD CONCH1: R211=1 R231=R101 R232=R102 R233=R103 R234=R104 R235=R105 R236=R106 R237=R107 R238=R108 R239=R109 R240=R110 R241=R111 R242=R112 R243=R113 R244=R114 R245=R115 R246=R116 R247=R117 R248=R118 R249=R119 R250=R120 GOTOF ENDSET CONCH2: R211=2 R231=R121 R232=R122 R233=R123 R234=R124 R235=R125 R236=R126 R237=R127 R238=R128 R239=R129 R240=R130 R241=R131 R242=R132 R243=R133 R244=R134 R245=R135 R246=R136 R247=R137 R248=R138 R249=R139 R250=R140 GOTOF ENDSET CONCH3: R211=3 R231=R141 R232=R142 R233=R143 R234=R144 R235=R145 R236=R146 R237=R147 R238=R148 R239=R149 R240=R150 R241=R151 R242=R152 R243=R153 R244=R154 R245=R155 R246=R156 R247=R157 R248=R158 R249=R159 R25O=R160 GOTOF ENDSET CONCH4: R211=4 .................
Please excuse me if the MSG are in Italian.
bigalex
I'm just curios what controller uses this program? I've never seen G code like this before...
John
Please Log in or Create an account to join the conversation.