View Full Version : Need post help for a Prototrak DPM-V3
Shadowfaxx 10-27-2004, 02:36 PM I have been trying to edit the mpfan.pst file in MC9 to come up with something that works for a Prototrak DPM-V3 as the machine manufacturer suggests. It works but has several errors, the most annoying of which is that it calls up the tool that is already in the spindle and the prototrak runs up to the toolchange position after each call. This requires editing, a lot of repetitious editing.
Has anyone had any success with this or has any other advice to offer?
The mx2 and mx3 posts do not make 3D calls, so they are useless to me.
Thanks for your help folks,
Open your post in your favorite text editor, and copy the functions:
ptlchg_com #Tool change common blocks ()
and
ptlchg0 #Call from NCI null tool change (tool number repeats)
and paste them here for us to look at. Should be a fairly simple edit.
Shadowfaxx 10-28-2004, 02:30 PM Hi Matt,
Sorry to be a pest, but I am lost here and apparently somewhat dense in this area. Where specifically in the file should I place this code? I have tried several places with unsatifactory results.
"ptlchg0 #Call from NCI null tool change (tool number repeats)" was already in the code.
I also have one other issue that has befuddled me. When a G2 or G3 is called and I, J or K have a value of 0 the post does not output a value for I,J or K. I need for that to happen otherwise the controller does a G1.
Thanks
I meant for you to copy those functions from YOUR post and put them here for me to see it so I can try to find where your problem is.
Sorry for the confusion.
For the G02 G03 problem, I would guess your post is forcing the output of null values.
Look for this
parc #Select the arc output
if arcoutput = zero,
[
#Arc output for IJK
if plane = zero, *i, *j, k
if plane = one, i, *j, *k
if plane = two, *i, j, *k
]
else,
[
#Arc output for R
if abs(sweep)<=180 | arcoutput=one, result = nwadrs(srad, arcrad)
else, result = nwadrs(srminus, arcrad)
*arcrad
]
and change this:
if plane = zero, *i, *j, k
to this:
if plane = zero, i, j, k
Shadowfaxx 10-28-2004, 04:20 PM Thanks Matt,
You put me in the right place to resolve the multiple tool call issue. It was just a matter of removing the asterisks from in front of several program calls and the arc error is now fixed too.
Thanks again!
Cool shoes. If you have more problems with your post, let us know.
Shadowfaxx 11-01-2004, 12:52 PM I believe that I spoke too soon. I still have an error in that the post is calling "M06" at the end of each NCI operation regardless of the whether there is supposed to be a tool change or not. Removing the asterisk from in front of the "t" in the program line got rid of the multile T calls but not the multiple M06 calls.
Also, is it possible to tell the post to output only linear moves, no arcs?
The following is the affected code as it stands, I think.
psof #Start of file for non-zero tool number
pcuttype
toolchng = one
if ntools = one,
[
#skip single tool outputs, stagetool must be on
stagetool = m_one
!next_tool
]
"%", e
*progno, e
"(PROGRAM NAME - ", sprogname, ")", e
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e
pbld, n, *smetric, e
pbld, n, *sgcode, *sgplane, "G40", "G49", "G80", *sgabsinc, e
sav_absinc = absinc
if mi1 <= one, #Work coordinate system
[
absinc = one
pfbld, n, sgabsinc, *sg28ref, e
pfbld, n, *sg28ref, e
pfbld, n, "G92", *xh, *yh, *zh, e
absinc = sav_absinc
]
pcom_moveb
c_mmlt #Multiple tool subprogram call
ptoolcomment
comment
pcan
if stagetool >= zero, pbld, n, t, "M6", e
pindex
if mi1 > one, absinc = zero
pcan1, pbld, n, sgcode, sgabsinc, pwcs, pfxout, pfyout,
pfcout, *speed, *spindle, pgear, strcantext, e
pbld, n, "G43", tlngno, pfzout, scoolant, next_tool, e
absinc = sav_absinc
pcom_movea
toolchng = zero
c_msng #Single tool subprogram call
ptlchg0 #Call from NCI null tool change (tool number repeats)
pcuttype
pcom_moveb
c_mmlt #Multiple tool subprogram call
comment
pcan
pbld, n, sgplane, e
pspindchng
pbld, n, scoolant, e
if mi1 > one & workofs <> prv_workofs,
[
sav_absinc = absinc
absinc = zero
pbld, n, sgabsinc, pwcs, pfxout, pfyout, pfzout, pfcout, e
pe_inc_calc
ps_inc_calc
absinc = sav_absinc
]
if cuttype = zero, ppos_cax_lin
if gcode = one, plinout
else, prapidout
pcom_movea
c_msng #Single tool subprogram call
ptlchg #Tool change
pcuttype
toolchng = one
if mi1 = one, #Work coordinate system
[
pfbld, n, sg28ref, e
pfbld, n, "G92", *xh, *yh, *zh, e
]
pbld, n, "M01", e
pcom_moveb
c_mmlt #Multiple tool subprogram call
ptoolcomment
comment
pcan
pbld, n, t, sm06
pindex
sav_absinc = absinc
if mi1 > one, absinc = zero
pcan1, pbld, n, sgcode, sgabsinc, pwcs, pfxout, pfyout,
pfcout, speed, spindle, pgear, strcantext, e
pbld, n, "G43", tlngno, pfzout, scoolant, next_tool, e
absinc = sav_absinc
pcom_movea
toolchng = zero
c_msng #Single tool subprogram call
pretract #End of tool path, toolchange
sav_absinc = absinc
absinc = one
sav_coolant = coolant
coolant = zero
#cc_pos is reset in the toolchange here
cc_pos = zero
gcode = zero
pcan
pbld, n, sccomp, sm05, psub_end_mny, e
pcan1, pbld, n, sgabsinc, sgcode, sg28ref, scoolant, strcantext, e
pbld, n, sg28ref, protretinc, e
pcan2
absinc = sav_absinc
coolant = sav_coolant
Shadowfaxx 11-01-2004, 04:21 PM This is a null message. I oopsed
|
|