Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
The trouble of ppnc's workoffsets
#1
In the process of machining, the position of tool tip should be written into G54.

The first problem is that when you press the workoffsets button and then the all button, only X, Y, Z coordinates are written into G54. even if the C button is pressed, the position of C will not be displayed in G54. C;

Second, of course, the C coordinates of the tool tip can be manually written into G54.C. then, when the NC program is running, C does not participate in the calculation and does not work.
Is this a bug? If so, this error is too low-level.

I want to know how to get the coordinates of G54 X Y Z C, and at the same time, it works when running NC program.I have purchased the SDK. You can provide the setup document for me to modify.


Attached Files Image(s)
   
Reply
#2
I have a feeling this might go deeper than you thought and require editing the G-Code library saved in the controller, as well as the front end for the NC display.

What is the C axis used for?
Reply
#3
(07-14-2020, 11:02 AM)Eric Hotchkiss Wrote: I have a feeling this might go deeper than you thought and require editing the G-Code library saved in the controller, as well as the front end for the NC display.

What is the C axis used for?
Eric, thanks for your reply.

I use the ck3E in the simulation, this should be the B axis.

I will modify it according to what you said, or please tell me to modify the g-xx code (should not be all?).
Reply
#4
(07-14-2020, 11:02 AM)Eric Hotchkiss Wrote: I have a feeling this might go deeper than you thought and require editing the G-Code library saved in the controller, as well as the front end for the NC display.

What is the C axis used for?
Eric, I'm sorry to tell you that even if the code of G54 is modified, the data entered manually in workoffset. C cannot be set. The terminal correctly displays the data of P903.
When I was debugging the program, I inserted a breakpoint in "btnCsSetALL", P900 had the correct "DisplayName", but P903 did not display my C-axis coordinate values. The code in WorkOffsets.xaml.cs has been executed correctly, but the variable is not assigned. What is the reason? At the same time, I found that the code of "Machine.cs" is also running correctly. ""{0}-axis work offset for {1}"" has been loaded successfully.
In the MCF framework, P903 is not assigned, and P900-P902 are assigned correctly?
If this is the problem, please re-write the assignment code to the variable that I cannot assign, and send me the correct .dll file (I have no permission to modify the MCF framework).


Attached Files Image(s)
               
Reply
#5
Our G54 implementation does not include the C axis. If you wanted to add that functionality yourself, I believe our code is open enough it would be possible, but not easy.

I know the code that runs on PMAC much better than I know our NC HMI. When you run a G54 that will run on PMAC and here is the standard implementation.
Code:
// G54 set work coordinate system 1
n54000:
dwell 0                                // Stop lookahead and blending
ThisCs = Ldata.Coord                    // Coordinate system executing program
XworkOfs = CS1WorkG54X
YworkOfs = CS1WorkG54Y
ZworkOfs = CS1WorkG54Z

//Cancelling Locals
XlocOfs = 0
YlocOfs = 0
ZlocOfs = 0
GCodesGroup0 &== ~Group0_G52

gosub 50000                            // G50 disable scaling
gosub 50100                            // G50.1 disable mirroring
gosub 69000                            // G69 disable rotation
MacroGCodesGroup14 = 54
GCodesGroup14 == Group14_G54
return

You would need to declare and set C versions of the variables that exist for X/Y/Z and set them in this code. Then you would have to search for where in the project the X/Y/Z variables are used and do the same thing for C.

That is in addition to editing the code you're looking at to include the C axis. If you want to make those changes I can ask the CNC team your questions.

I asked how the C axis was used because there might be an easier way to do the same thing.
Reply
#6
(07-14-2020, 09:19 PM)Eric Hotchkiss Wrote: Our G54 implementation does not include the C axis. If you wanted to add that functionality yourself, I believe our code is open enough it would be possible, but not easy.

I know the code that runs on PMAC much better than I know our NC HMI. When you run a G54 that will run on PMAC and here is the standard implementation.
Code:
// G54 set work coordinate system 1
n54000:
dwell 0                                // Stop lookahead and blending
ThisCs = Ldata.Coord                    // Coordinate system executing program
XworkOfs = CS1WorkG54X
YworkOfs = CS1WorkG54Y
ZworkOfs = CS1WorkG54Z

//Cancelling Locals
XlocOfs = 0
YlocOfs = 0
ZlocOfs = 0
GCodesGroup0 &== ~Group0_G52

gosub 50000                            // G50 disable scaling
gosub 50100                            // G50.1 disable mirroring
gosub 69000                            // G69 disable rotation
MacroGCodesGroup14 = 54
GCodesGroup14 == Group14_G54
return

You would need to declare and set C versions of the variables that exist for X/Y/Z and set them in this code. Then you would have to search for where in the project the X/Y/Z variables are used and do the same thing for C.

That is in addition to editing the code you're looking at to include the C axis. If you want to make those changes I can ask the CNC team your questions.

I asked how the C axis was used because there might be an easier way to do the same thing.
Eric ,thanks very much.
Sorry for interrupting you to rest; I can solve this problem by myself. You can help me to consult the CNC team, how to get "MCF Application for Delta Tau (CS).zip". It is mentioned in MCF Developer's Guide 2.3.pdf. I can develop this function myself.
Eric, thanks again.
Reply
#7
I believe that is referring to an internal part of the development of the NC SDK. You can probably take it to mean the NC SDK.
Reply
#8
(07-15-2020, 11:50 AM)Eric Hotchkiss Wrote: I believe that is referring to an internal part of the development of the NC SDK. You can probably take it to mean the NC SDK.
Eric you are right, I think this is part of the SDK.
Because the SDK is not completely open at the moment, I see this MCF Developer's Guide 2.3.pdf document and feel that I can do HMI to solve the problems I am currently facing. This is just my thought.
If the NC team does not help, this problem is indeed difficult to solve. I believe that other customers will encounter the same problem.
Reply
#9
(07-15-2020, 05:26 PM)zerbzhang Wrote:
(07-15-2020, 11:50 AM)Eric Hotchkiss Wrote: I believe that is referring to an internal part of the development of the NC SDK. You can probably take it to mean the NC SDK.
Eric you are right, I think this is part of the SDK.
Because the SDK is not completely open at the moment, I see this MCF Developer's Guide 2.3.pdf document and feel that I can do HMI to solve the problems I am currently facing. This is just my thought.
If the NC team does not help, this problem is indeed difficult to solve. I believe that other customers will encounter the same problem.

Well this is actually an array issue and not an issue at all once you understand the system. The edits to make this work are on the ppmac side not the HMI side. The file ncinterfacedefinitions.pmh is where the edits take place then all will be write with the world.

The axis order has everything to do with how the edits take place. I have run into this many times and very easy to correct.
Reply
#10
(07-16-2020, 06:57 AM)cncguru Wrote:
(07-15-2020, 05:26 PM)zerbzhang Wrote:
(07-15-2020, 11:50 AM)Eric Hotchkiss Wrote: I believe that is referring to an internal part of the development of the NC SDK. You can probably take it to mean the NC SDK.
Eric you are right, I think this is part of the SDK.
Because the SDK is not completely open at the moment, I see this MCF Developer's Guide 2.3.pdf document and feel that I can do HMI to solve the problems I am currently facing. This is just my thought.
If the NC team does not help, this problem is indeed difficult to solve. I believe that other customers will encounter the same problem.

Well this is actually an array issue and not an issue at all once you understand the system. The edits to make this work are on the ppmac side not the HMI side. The file ncinterfacedefinitions.pmh is where the edits take place then all will be write with the world.

The axis order has everything to do with how the edits take place. I have run into this many times and very easy to correct.
Thank you, I have to re-recognize Power pmac nc, I first try to modify the plc program to achieve the functions I need.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)