Hello Guest it is May 25, 2019, 01:40:37 AM

### Author Topic: Mcodes ??  (Read 7858 times)

0 Members and 1 Guest are viewing this topic.

#### dude1

• 1,253
##### Re: Mcodes ??
« Reply #20 on: December 01, 2014, 11:33:52 PM »
you will get A squire scale pay rise soon Frack only

something iI just noticed M codes start with a m not a M

#### Ya-Nvr-No

• 972
##### Re: Mcodes ??
« Reply #21 on: December 02, 2014, 12:35:24 AM »
Works great, I called it m701
Frack too funny

Code: [Select]
`------------------------------------------------------Brought to you by the: "Mach4^2 Development Team"!! --Team members both Frick, and Frack!!----------------------------------------------------function m701(hVars)   local macroname = "m701"   local aa,bb,cc,dd,ee,ff,hh,ii,jj,kk,ll,pp,qq,rr,ss,tt,uu,vv,ww,xx,yy,zz = 0;   local inst = mc.mcGetInstance() -- Get the current instance       local nilPoundVar = mc.mcCntlGetPoundVar(inst,0)       if hVars ~= nil then        aa = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_A)    mc.mcCntlSetPoundVar(inst, 1, aa);        bb = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_B)    mc.mcCntlSetPoundVar(inst, 2, bb);        cc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_C)    mc.mcCntlSetPoundVar(inst, 3, cc);        dd = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_D)    mc.mcCntlSetPoundVar(inst, 7, dd);        ee = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_E)    mc.mcCntlSetPoundVar(inst, 8, ee);        ff = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_F)    mc.mcCntlSetPoundVar(inst, 9, ff);        hh = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_H)    mc.mcCntlSetPoundVar(inst, 11, hh);        ii = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_I)    mc.mcCntlSetPoundVar(inst, 4, ii);        jj = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_J)    mc.mcCntlSetPoundVar(inst, 5, jj);        kk = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_K)    mc.mcCntlSetPoundVar(inst, 6, kk);        ll = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_L)    mc.mcCntlSetPoundVar(inst, 12, ll);        pp = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_P)    mc.mcCntlSetPoundVar(inst, 16, pp);        qq = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Q)    mc.mcCntlSetPoundVar(inst, 17, qq);        rr = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_R)    mc.mcCntlSetPoundVar(inst, 18, rr);        ss = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_S)    mc.mcCntlSetPoundVar(inst, 19, ss);        tt = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_T)    mc.mcCntlSetPoundVar(inst, 20, tt);        uu = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_U)    mc.mcCntlSetPoundVar(inst, 21, uu);        vv = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_V)    mc.mcCntlSetPoundVar(inst, 22, vv);        ww = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_W)    mc.mcCntlSetPoundVar(inst, 23, ww);        xx = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_X)    mc.mcCntlSetPoundVar(inst, 24, xx);        yy = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Y)    mc.mcCntlSetPoundVar(inst, 25, yy);        zz = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Z)    mc.mcCntlSetPoundVar(inst, 26, zz);    --mc.mcCntlSetPoundVar(inst, 13, mm);    --mc.mcCntlSetPoundVar(inst, 14, nn);    --mc.mcCntlSetPoundVar(inst, 15, oo);   endendif (mc.mcInEditor() == 1) then    m701(0)end`

#### BR549

• 6,865
##### Re: Mcodes ??
« Reply #22 on: December 02, 2014, 12:41:21 AM »
Question again.  Are these Macro Parameters M700 A-Z  the SAME as the Local vars A-Z used in the G65 macro call ?

If I set a Macro M700 A1.1 B2.2  are those values going to show up if I call a G65 A 0r B or queary #1 or #2 for its value.

I cannot test here as that it seems G65 is a licensed function ?? Never saw that before.

(;-) TP

#### Ya-Nvr-No

• 972
##### Re: Mcodes ??
« Reply #23 on: December 02, 2014, 08:23:33 AM »
Added a checkval function to Fricks code
shows how to use a function to cut down on repetitive routines/code and pass back the checked value for validity.

Code: [Select]
`------------------------------------------------------Brought to you by the: "Mach4^2 Development Team"!!--Team members both Frick, and Frack!!----------------------------------------------------function checkval(rc) if (rc <= 1e-009 or rc >= 1e009) then rc2 = 0; else                rc2 = rc;        end return rc2endfunction m700(hVars)local macroname = "m700"local rclocal inst = mc.mcGetInstance() -- Get the current instancelocal nilPoundVar = mc.mcCntlGetPoundVar(inst,0)local message = "" if hVars ~= nil then rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_A) checkval(rc) message = message .. "A" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_B) checkval(rc) message = message .. "B" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_C) checkval(rc) message = message .. "C" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_D) checkval(rc) message = message .. "D" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_E) checkval(rc) message = message .. "E" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_F) checkval(rc) message = message .. "F" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_H) checkval(rc) message = message .. "H" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_I) checkval(rc) message = message .. "I" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_J) checkval(rc) message = message .. "J" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_K) checkval(rc) message = message .. "K" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_L) checkval(rc) message = message .. "L" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_P) checkval(rc) message = message .. "P" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Q) checkval(rc) message = message .. "Q" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_R) checkval(rc) message = message .. "R" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_S) checkval(rc) message = message .. "S" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_T) checkval(rc) message = message .. "T" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_U) checkval(rc) message = message .. "U" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_V) checkval(rc) message = message .. "V" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_W) checkval(rc) message = message .. "W" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_X) checkval(rc) message = message .. "X" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Y) checkval(rc) message = message .. "Y" .. ":" .. tostring(rc2) .. ", " rc = mc.mcCntlGetLocalVar(inst, hVars, mc.VAR_Z) checkval(rc) message = message .. "Z" .. ":" .. tostring(rc2) wx.wxMessageBox(message) endendif (mc.mcInEditor() == 1) then m700(0)end`

#### poppabear

• 2,231
• Briceville, TN, USA
##### Re: Mcodes ??
« Reply #24 on: December 02, 2014, 08:47:43 AM »
Yea, all those code calls in there, where just so all of A-Z calls could be seen.

Just comment out, or deleted the ones your not intending to use in your User macro.

Terry, as far as I am aware of, these parameters represent the Local Pound Vars.

Scott

Commercial Mach3 & Mach 4, Design/Build/Retrofit CNC and Industrial machines.
http://www.ss-systems-llc.com/

#### MachMotion Development Team

• 55
##### Re: Mcodes ??
« Reply #25 on: December 02, 2014, 08:48:24 AM »
I'm glad you guys worked it out... I found out why my example didn't work!!  When you copy code into this forum the text formatting drops the brackets around my array identifier.

This is how the forum modified my code:
rc = mc.mcCntlGetLocalVar(inst, hVars, ParameterNumberArray)

This is how it should have looked (I had to add spaces around the "i" to make it display):
rc = mc.mcCntlGetLocalVar(inst, hVars, ParameterNumberArray[ i ])

Do any of you know if there is a way to disable the formatting on a post?
Andrew
MachMotion

#### Ya-Nvr-No

• 972
##### Re: Mcodes ??
« Reply #26 on: December 02, 2014, 08:57:28 AM »
Sorry Andrew,  I found my issue the [ i ] was missing from the message also

Code: [Select]
`------------------------------------------------------------------------------- Machine Type: Standard Mill Control-- Author: MachMotion Development Team-- Created: 09/24/2013-- Modified by: MachMotion Development Team-- Modified on: 01/10/2014-- Description: Example: Reading Variables into MCodes-- Copyright: © 2013-2014 Edge Solutions LLC All Rights Reserved-----------------------------------------------------------------------------function m702(hVars)   local macroname = "m702"   local a,b,c,rc,rc2   local inst = mc.mcGetInstance() -- Get the current instance   local nilPoundVar = mc.mcCntlGetPoundVar(inst,0)   local message = ""   if hVars ~= nil then              local ParameterLetterArray = {"A", "B", "C", "D", "E", "F", "H", "I", "J", "K", "L", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}        local ParameterNumberArray = {mc.VAR_A, mc.VAR_B, mc.VAR_C, mc.VAR_D, mc.VAR_E, mc.VAR_F, mc.VAR_H, mc.VAR_I, mc.VAR_J, mc.VAR_K, mc.VAR_L, mc.VAR_P, mc.VAR_Q, mc.VAR_R, mc.VAR_S, mc.VAR_T, mc.VAR_U, mc.VAR_V, mc.VAR_W, mc.VAR_X, mc.VAR_Y, mc.VAR_Z}        for i = mc.VAR_A, #ParameterNumberArray do        rc = mc.mcCntlGetLocalVar(inst, hVars, ParameterNumberArray[i])        message = message .. "#" .. ParameterLetterArray[i] .. ":" .. tostring(rc) .. "\n"      end      wx.wxMessageBox(message)   end   return nil, true, macroname .. " Ran Successfully"endif (mc.mcInEditor() == 1) then    m702()end`
« Last Edit: December 02, 2014, 01:54:23 PM by Ya-Nvr-No »

#### poppabear

• 2,231
• Briceville, TN, USA
##### Re: Mcodes ??
« Reply #27 on: December 02, 2014, 09:06:31 AM »
Andrew,

Just so your are aware this line in your code needs to be removed.

return nil, true, macroname .. " Ran Successfully"

This causes the mach instance to "hang" and not close.
Maybe (and this is just a guess), your returning to nothing those values,
from the MDI or G-Code line which may be contributing to the hanging
of the instance.

When you remove that line the problem goes away...
Perhaps you should put conditional code around your return statement,
for if your in the editor...

Scott

Commercial Mach3 & Mach 4, Design/Build/Retrofit CNC and Industrial machines.
http://www.ss-systems-llc.com/

#### BR549

• 6,865
##### Re: Mcodes ??
« Reply #28 on: December 02, 2014, 12:33:49 PM »
GUYS you cannot have Mcodes using the SAME local vars as the G65. The G65 are local vars(A-Z ,#1-#26) for the G65 ONLY. It will create a serious BOOBOO if they get mixed up.

I am not sure why you would want to use the #vars anyway. The Mcode variable should only be unique to that Mcode in the same way that the MACH3 macros worked. That way there are NO cross linked values.

(;-) TP

#### dude1

• 1,253
##### Re: Mcodes ??
« Reply #29 on: December 02, 2014, 01:16:09 PM »
I think they where just playing