Value array
31 May 2022 07:51 #244264
by luki
Value array was created by luki
Hi everyone,
first of all I want to say thanks to everybody in this forum that helped me commissioning my system so far.
If anyone needs help with his MESA 7C80 write me. I will support as good as I can.
I'm planing to do a battery cell welding system with Linux CNC.
The first step is done. I'm using the MESA 7C80 which works very good so far. The system is moving. Now it's time for the next step...programming the movement.
I'm coming from PLC programming. What I'm aiming for is something like a main Programm and a seperate file with parameters which are used in the main program. These paramaters are for example: X and Y location for each battery cell, numbers of welding spots for each cell and so on.
The main programm should be able to look up these parameters by an index number.
Is that possible? If it is poosible. What than is the keyword?
Thank you in advance.
Lukas
first of all I want to say thanks to everybody in this forum that helped me commissioning my system so far.
If anyone needs help with his MESA 7C80 write me. I will support as good as I can.
I'm planing to do a battery cell welding system with Linux CNC.
The first step is done. I'm using the MESA 7C80 which works very good so far. The system is moving. Now it's time for the next step...programming the movement.
I'm coming from PLC programming. What I'm aiming for is something like a main Programm and a seperate file with parameters which are used in the main program. These paramaters are for example: X and Y location for each battery cell, numbers of welding spots for each cell and so on.
The main programm should be able to look up these parameters by an index number.
Is that possible? If it is poosible. What than is the keyword?
Thank you in advance.
Lukas
Please Log in or Create an account to join the conversation.
31 May 2022 08:50 #244267
by andypugh
Replied by andypugh on topic Value array
I am not entirely clear what question you are asking, so this might be the answer to the wrong question.
LinuxCNC G-code supports numerical parameters (#1, #2 etc) and also named parameters (#<xpos≥ for example)
For the numerical parameters indirection is supported:
Would display the value "20"
LinuxCNC also supports subroutines, and these, too, can be numbered.
But consider whether you really want to use re-usable G-code for this. It might be better in the long term to have a front-end (graphical or otherwise) that outputs a chunk of transient job-specific code for each job.
Of course, you don't have to choose, you can easily do both depending on the job.
As an example, here is a bit of G-code I wrote that uses computed subroutine calls to engrave numerals:
forum.linuxcnc.org/20-g-code/27169-g-cod...inders?start=0#40497
LinuxCNC G-code supports numerical parameters (#1, #2 etc) and also named parameters (#<xpos≥ for example)
For the numerical parameters indirection is supported:
#7 = 20
#1 = 7
(DEBUG, #[#1])
Would display the value "20"
LinuxCNC also supports subroutines, and these, too, can be numbered.
O100 SUB
(DEBUG, This is Subroutine 100)
O100 ENDSUB
#1 = 7
#7 = 100
O #[#1] CALL
But consider whether you really want to use re-usable G-code for this. It might be better in the long term to have a front-end (graphical or otherwise) that outputs a chunk of transient job-specific code for each job.
Of course, you don't have to choose, you can easily do both depending on the job.
As an example, here is a bit of G-code I wrote that uses computed subroutine calls to engrave numerals:
forum.linuxcnc.org/20-g-code/27169-g-cod...inders?start=0#40497
Please Log in or Create an account to join the conversation.
31 May 2022 09:45 - 31 May 2022 09:45 #244271
by luki
Replied by luki on topic Value array
Hi Andy,
thanks for your quick reply.
I would like to use a special torch to weld copper cell connectors onto lithium-ion cells. Any number of spot welds can be set on a cell. These spot welds are located on an imaginary circle that is coaxial with the center of the cell. The parameters for each battery cell in the pack are: - X and Y coordinate of the center of each cell - Circle diameter on which the spot welds are located - Number of spot welds on the cell So I need a file that contains this information for each cell. A loop runs in the main program. The loop counter corresponds to the index to access this information. I hope you now understand a little better what I intend to do.
In the Image you see a cell with three welding spots.
thanks for your quick reply.
I would like to use a special torch to weld copper cell connectors onto lithium-ion cells. Any number of spot welds can be set on a cell. These spot welds are located on an imaginary circle that is coaxial with the center of the cell. The parameters for each battery cell in the pack are: - X and Y coordinate of the center of each cell - Circle diameter on which the spot welds are located - Number of spot welds on the cell So I need a file that contains this information for each cell. A loop runs in the main program. The loop counter corresponds to the index to access this information. I hope you now understand a little better what I intend to do.
In the Image you see a cell with three welding spots.
Attachments:
Last edit: 31 May 2022 09:45 by luki.
Please Log in or Create an account to join the conversation.
31 May 2022 09:58 #244272
by luki
Replied by luki on topic Value array
I will need something like a multi-dimensional array to store the data for each cell.
1. dim: Cell number
2. dim: X-location of cell centre point
3. dim: Y-location of cell centre point
4. dim: circle diameter on which the welding spots are located
5. dim: number of welding points
1. dim: Cell number
2. dim: X-location of cell centre point
3. dim: Y-location of cell centre point
4. dim: circle diameter on which the welding spots are located
5. dim: number of welding points
Please Log in or Create an account to join the conversation.
31 May 2022 13:51 #244290
by luki
Replied by luki on topic Value array
I tried to do it with variables within an INI-file
which could look like this:
[1] <- battery cell number
X=100 <- X location of battery cell
Y=100 <- Y location of battery cell
DIAMETER=3
PPOINTS=4
Inside my gcode it looks like:
G1 X#<_ini[1]X> Y#<_ini[1]Y> F1000
That works pretty good BUT the question for 1 million $ is:
How can i make section a variable so i can access the sections by a loop counter?
which could look like this:
[1] <- battery cell number
X=100 <- X location of battery cell
Y=100 <- Y location of battery cell
DIAMETER=3
PPOINTS=4
Inside my gcode it looks like:
G1 X#<_ini[1]X> Y#<_ini[1]Y> F1000
That works pretty good BUT the question for 1 million $ is:
How can i make section a variable so i can access the sections by a loop counter?
Please Log in or Create an account to join the conversation.
01 Jun 2022 00:37 #244329
by andypugh
Replied by andypugh on topic Value array
I don't think that passing values in from the INI is the way to go.
If I was doing this I think I would make a simple GUI to enter the parameters.
Then I would have a G-code subroutine that takes X, Y diameter and points as inputs to do the welds for each cell.
Start with the Subroutine, so that, in MDI:
O <weld> CALL [100] [100] [3] [4]
Does the welding. Then work out what the next layer up is.
linuxcnc.org/docs/stable/html/gcode/o-co...ml#ocode:subroutines
If I was doing this I think I would make a simple GUI to enter the parameters.
Then I would have a G-code subroutine that takes X, Y diameter and points as inputs to do the welds for each cell.
Start with the Subroutine, so that, in MDI:
O <weld> CALL [100] [100] [3] [4]
Does the welding. Then work out what the next layer up is.
linuxcnc.org/docs/stable/html/gcode/o-co...ml#ocode:subroutines
Please Log in or Create an account to join the conversation.
03 Jun 2022 08:00 #244489
by luki
Replied by luki on topic Value array
Sounds promising. I will try that. Many thanks Andy.
What dooes MDI mean?
Is there any documentation of how creating a simple GUI to enter paramters?
What dooes MDI mean?
Is there any documentation of how creating a simple GUI to enter paramters?
Please Log in or Create an account to join the conversation.
03 Jun 2022 21:49 - 03 Jun 2022 21:58 #244546
by BigJohnT
Replied by BigJohnT on topic Value array
MDI is Manual Data Input, LinuxCNC you can input one line of G code at a time.
NGCGUI is what I use on my lathe to many ops.
linuxcnc.org/docs/stable/html/gui/ngcgui.html
or possibly
linuxcnc.org/docs/stable/html/gui/pyvcp.html
JT
NGCGUI is what I use on my lathe to many ops.
linuxcnc.org/docs/stable/html/gui/ngcgui.html
or possibly
linuxcnc.org/docs/stable/html/gui/pyvcp.html
JT
Last edit: 03 Jun 2022 21:58 by BigJohnT.
Please Log in or Create an account to join the conversation.
Time to create page: 0.102 seconds