Hello Guest it is April 25, 2024, 01:27:42 PM

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.


Topics - eabrust

Pages: 1
1

Hi all,

I've been working a converting/porting a video camera based plugin I have written for another machine control, over to Mach 4 specific version.  CamCopy M4 is in a fairly functional state now, and I wanted to see if there is any interest in it, either from those that would use such a plugin if offered in the future, or those who may want to help test it out for fun. 

Please check out this demo video:  https://youtu.be/g5mtL2sSXkQ

The video demo  gives a bit of a demo of its basic functionality.  It saves recorded data to either DXF for CSV formats that are readily usable in most all CAM software.   I've primarily been testing w/ M4 ver. 2.4612 and CNCDrive UC100/400 machine controllers. 

My main goal is to reach out to see if there are any Mach4  users who would be up for helping test it out on their machines.  Volunteers would need a usb microscope camera (primary needs are that camera can achieve ~ 30fps @ 640x480), and a machine setup w/ Mach 4.  The program runs along side Mach4 and connects via the IPC interface, so it doesn't need to be installed or modify your Mach4 installation in any way.  The video linked above should give a fairly good idea of the setup.

I don't imagine that CamCopy M4 will be 100% bug free at this point, or work with any and all versions of Mach4 and motion controllers out of the gate, but that's why I'm looking for those that are willing to help try it and provide feedback.  In exchange, volunteers will get a license at no cost.  If interested in being a tester, please send me a private message. 

Thanks for looking, I am interested in any feedback or suggestions anyone may have.

regards
Eric


2
Mach4 Plugins / Mach4 IPC wrapper in VB, looking for some help please
« on: February 22, 2022, 08:20:24 PM »


Hi all,

I have been working on a VB.net wrapper for the MachIPC.dll interface, and have made good progress by scouring the forum, reading the API help file, and a lot of trial and error, way more error than good trials :) .  My goal is interfacing a probing application of mine written in .Net to Mach4 thorough the IPC interface.

I have a decent amount of functionality working in a test app, except for a few problems I want to see if I can get some input or help on.

For starters on where I’m at with success: I can jog, read DRO positions, get probe position data and hit status from  a G31, read the controller state, send MDI move commands, etc.  That all worked relatively straight forwards without much hassle, and creating the wrapper functions was not much of an issue.

What is currently giving me issue is trying to get status of signals (such as probe input  active or not), so I can display the equivalent of a status LED. 

As I take it, first you have to poll Mach 4 to receive the signal’s current handle, then get the status of the signal using the handle in a second call. 

My issue is I can’t get past the first call to get the handle, I get an error response of -28 (MERROR_IPC_NOT_READY). 

For reference, my wrapper function definition is:

Code: [Select]
<DllImport("mach4ipc-x64.dll", CallingConvention:=CallingConvention.StdCall, CharSet:=CharSet.Ansi)>
        Public Shared Function mcSignalGetHandle(ByVal mInst As Integer, ByVal sigid As UInteger, <Out> ByRef handle As UInteger) As Integer
        End Function

And function call is:
Code: [Select]
            Dim sig As UInteger
            err = CType(Signal.mcSignalGetHandle(0, 164, sig), mc.mcError)

The above assumes I’m trying to get the handle of signal #164 (which I’m hoping is the probe input, but I’m probably off a few…)
When my demo app loads, I do call mcIpcInit(127.0.0.1)  , and get an error response of 0, so I’m definitely connecting and getting a good response from the MachIPC.dll initially, and many other functions work great even before I used mcIpcInit().

I’ve been struggling with the mcSignalGetHandle() long enough, time to ask for help.  If anyone has any input on what I’m messing up to get the signal handles back, I would greatly appreciate the help and input.  Or is it possible there is an issue on the M4/Lua side?

And a bit of other info, my testing is being done w/ Mach4 build 4612, I'm using the MachIPC-x64.dll, and compiling any cpu

thanks in advance for any input,
Eric

3
General Mach Discussion / Probe-It probing wizard - 2D perimeter probing
« on: December 24, 2013, 10:01:06 AM »
Hi all, my name is Eric, and I would like to share a probing wizard I've been working on (for a long time...).  

I saw Jimster's comments in Terry's 'probe wizard' thread about some of his wishes (2D probing, save to dxf, etc), and didn't want to hijack that thread to introduce myself.  I've been a long time reader/lurker, and pretty busy with my day job, kids, and moving recently, but I've also been working on a probing wizard for Mach3 which does 2D perimeter probing and saves to either DXF or CSV files.  It started out as a project inspired by Stirling's old routines, and to see what I could accomplish for fun (I'm not a programmer by any means...).  It's coming along into something that could be useful for some, so I'd like to share it.

The wizard is called 'Probe-It!', and you can find more info about it at www.craftycnc.com.  It is done completely within Mach3 VB macros.   To give a brief run down:

It has a page of basic operations (corner, center find, side/edge find, etc much like other existing wizards) for setup operations,  but you can record the points to DXF or CSV (sort of handy for CMM like or reverse engineering of simple parts).  

There is a 'Z probing' page, which doesn't do much in its current form except it helps tell you if your work piece is 'flat' and leveled.

There is a perimeter probing page, which I think would fit Jimster's request quite well.  On this page, the routine will 'trace' around the external (or internal) 2D perimeter profile, and make a DXF (or CSV file) of points/lines which can later be cleaned up and used to reconstruct your part in CAD.  It isn't perfect and occasionally has issues with sharp direction changes, but it is coming along into something that works.

Finally, what I think makes this wizard unique from currently available routines is found on the setup page.  You have the option to probe the ID of a 'ring gauge' of known diameter, and this builds a 'tip correction' table that is used when probing if you wish.  This takes out some of the error associated with backlash, probe deflections, etc.  Once you've built a correction table, errors are reduced in your measured parts, and you are also able to measure bore diameters more precisely and even get 'roundness' measurements.

I don't want to come across as being here only to 'advertise'.  I would genuinely like to share what I'm working on, have people try it, and let me know what they think.  I would appreciate suggestions/comments/requests/ etc.  

ProbeIt requires a later version of Mach3 (3.43.66 has been my test platform for a while).  I've also done all testing on a machine run via parallel port.  I've had mixed response from users running SmoothSteppers, and I don't have a SS run machine to confirm/deny issues.  So any feedback I could get from a SS owner would be appreciated!  And like anything related to probing, I'd like to think the wizard is pretty robust, but everyone's setup is different and it can be easy to 'crunch' your probe, so please use at your own risk and probe slow until you get comfortable with the settings.

ProbeIt is free to download and play with and is fully functional, except it limits the number of points that the tip correction is on and how many points you can perimeter probe to a file without a license.  If you find it useful for basic stuff, you can use it free forever.

Thanks for letting me share, and please let me know of any quetions/comments/suggestions.

Regards,
Eric (CraftyCNC)

Pages: 1