Hello Guest it is April 27, 2024, 06:32:22 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Screwie Louie

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 »
141
Mach4 General Discussion / Re: Mach 4 Feature Request
« on: May 29, 2015, 04:18:49 AM »
Two thumbs up! Mach 4 = open source. With your current licensing premium as a price for the API, just open it up for us all. Or an option, as a hobbyist and not OEM. The community could evolve  Mach 4 faster than Sherlock Holmes could solve a case. From a trade-off, best-value, cost-benefit analysis and risk analysis what does Mach 4 have to lose? Beta testing has been going on for years. Every day more potential share of industry capture is going to proprietary software at ridiculous costs. An open source community has the exponential potential for you to decrease operating costs, advance development ahead of schedule, increase customizability, and release an industrial product in the short term future. Is the risk worth it? What is the net present value if you did or did not? I don't know, but it is a course of action to consider as an alternative. Microcontroller capabilities...reduction in footprint & cost. Life cycle sustainability and overhead reduction costs. Instead of a few support staff, the potential could be this whole forum becomes your support staff for free. But risk...darn it the risk. Human nature tends to lean towards survival of the fittest. And how do we survive today? By money, cash flow to pay the bills. It would take a community of users that believe in the potential of Mach4's core and API capabilities to contribute their efforts for free. Is that possible or just a pipe dream?

142
Mach4 General Discussion / Re: Mach4 Executing Gcode from LUA
« on: May 29, 2015, 01:29:31 AM »
Perfect! That would of been nice to know in the scripting manual. Sticky!

So, as the event is a 'run' any input signal during that run does not count as an 'event'. Which would trigger a function through the signal script to a defined signal table located in the screen load up script.

But yet the mc.mcCntlGcodeExecute(inst, "string") or mc.mcCntlMdiExecute(inst, "string") are loaded into and executed by the interpreter and the movements are passed back to the DRO code and then returned to the GUI for update via the core? ...in the dro mystery code location?...even if the dro code is written to collect interpreter data and pass that data as arguments to a dro function with a return to the GUI wouldn't my signal 'event' be just as important?

why wouldn't my input Event be passed from the signal script,  to the screen load up script,  to a defined table in the screen load up script with a key of that known input and perform a function (as the key's value) and tell the interpreter to stop? It works when jogging and when a Gcode file is loaded and running.

I would really appreciate your advice. Thanx. (didn't mean to hijack a thread, but shoot it is a legitimate programming question)

Why wouldn't this type of information be written into the Mach4 scripting manual (the GcodeExecute vs. Wait vs. Mdi) to know which type of function call is applicable in which specific environment? Thank you for sharing. I know there are other posts describing this...from 2014. Daniel referenced them a couple of days ago.

143
Dan may be right. I read another post that after an install the person had the same error and he had to delete the mcLua.mcc file. After it recompiles Windows should repair that key it is reporting back as invalid. I also remember something about how the core code is assigned to a hidden directory and our whole Mach4 folder just points to it. yah, also looked in the registry and couldn't find any reference but then again because mach core is hidden it may be represented by some hexadecimal number in the registry. We would have a better chance of winning the lottery than going through those numbers. Shoot, it will only take you 5 seconds to delete and another 10 seconds to load and recompile. C'mon..hurry up! Let us know!

144
Can functions be defined in the PLC scripts and arguments be passed back to them from button scripts? or do I need to build a module? But I would just be asking if I can use it in the PLC...

145
Mach4 Videos / Re: Mach4 - Arduino and Touchscreen
« on: May 28, 2015, 10:14:41 PM »
don't forget about the Beaglebone Black! Now we are talking. Let's load Mach4 (didn't they say cross-platform?) on these little guys that can run full Linux. The Aurdrino Yun is good for comms as an interface to your host to which your requirement is for.  But as a host, the Beaglebone can run full Linux...I think the Raspberry Pi does to. Mach4 in my pocket! w/ an MPG cape/shield. Fingers crossed on Ubuntu/ Mach4 platform. Mach4 needs to be a type of open-source API is paid for but the core code is available for customization. It would become LinuxCNC on steroids I bet.

http://beagleboard.org/black


146
 that may be a Window's error...maybe try Window's repair or restore point or registry hack to delete the registry key? look up windows registry repair or cleanup first. yep, bet that's it. Reg Key ...be careful though in the registry using regedit.

147
I may of gotten if backwards... I think to better visually match "your" switch just add a LED in the middle and map it to a 'nor conditional statement' ie
   jog cont (led off) --- jog cont Nor jog inc (led on) --- jog inc (led off)
now that would have to be coded, there is not a predefined action for this on a LED. It would have to be wx.Lua scripted I think to create that specific LED.
using screen calls?? output is true if = nor (wow, that almost sounds like an oxymoron)

148
...code (which is in the PLC)...smart. I wonder if a button script can call a function from PLC. I think maybe my looping problems stem from not writing the functions in PLC. I'll try to call PLC function from a button.

Racing conditions ... yah, I noticed that to whereas when a line of Gcode is coded in Lua and mdi executed the rest of your script has completed and you cannot perform conditions on that specific block. It's like the block is released to the interpreter and for got about by Lua which just preceeds to goto the next line of Lua code. For example mc.mcCntlMdiExecute(" whatever block"), code for some condition, wx.wxMessageBox ("Complete") -> Run. Your Gcode is still running but yet the MessageBox immediately pops up. Hence, all these timing loops everyone seems to be doing or the need for mcJogIsJogging, IsStill, etc. I would think these functions would be for deconfliction of resources but I'm noticing the need for them like 'while mc.mcJogIsJogging do some line of logging message until not mcJogIsJogging or vice versa in order to hold mcLua from advancing to the next line of code.

Tim, your out of sync jog type issue with the button vs. MPG ... try this
1. highlight the Jog Inc button in operator edit screen (mine is named 'tbutton8'
2. change the properties value to this:
    Text Up = Jog Cont
    Text Dn = Jog Step      

3. now goto the button's events where we would normally enter script and change to this: (select from predefined actions)
    Down Action = Jog Mode Step
    Up Action = Jog Mode Continuous

The button is of a toggle type. hence 'ibutton8' vs 'btnLaunchNuclearBomb' naming convention. Think of a DPDT type toggle switch where you would throw the lever to the left for jog continuous, lever in the middle is off, and lever thrown to the right is jog incremental. That is why you are seeing a three cycle rotation on two LED's on a toggle button. Just need to change the action state of the button. Super easy with the predefined actions that are their for us. Worked for me.
    

149
nutz...MachGUI locks up when written into a button script. It compiles and runs fine in mcLUA and I am able to initiate movement and stop movement on tne tool setter but the GUI locks up when the motion is complete. any ideas?

Even tried this loop. Compiles and works in mcLua, works in button script but GUI just doesn't like it. Even adjusted PLC rate to 100....

while mc.mcSignalGetState (hSig) ~= 1 do
    mc.mcCntlSetLastError (inst, "Approaching tool setter")     
    if mc.mcSignalGetState (hSig) == 1 then
    break
    end
end

150
index=1   key=0     value=Axis X
index=2   key=1     value=Axis Y
index=3   key=2     value=Axis Z
index=4   key=3     value=Axis A

mc.mcAxisRegister or unmap or Enable = 0, false => table.remove...no longer there...i don't freakin know. but if a key was removed the index would be removed with it along with the value....I'm going to bed.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 »