G100 PlugIn for Mach3
Posted by
art
on 2006-06-15 08:51:41 UTC
Hi everyone:
The first functional test of a G100 plugin for Mach3 is now online. It is on the downloads page on my website.
To use it, just install version 1.51 of Mach3, then copy the G100 DLL also on the download site to the C:\Mach3\PlugIns folder. There are no instructions, the program shoudl guide you suffiently when you use it. It is designed to be as idiot proof as possible. (since Im usually guilty of being one.) To configure it, use the operator/config plugins menu item.
This test is of discovery, connection, config flashing, and all IO. There is also a real-time status monitor to show the G100 internal registers. IO is immediate, any port 1 signal is sent or retrived from the G100 automatically. You may store the information that your using a G100 in any profile, so Mach3 can share a printer port in one profile with a G100 in another. You just cant use both at once.
This is an initial test, it seems bulletproof so far, Id be interested in comments or experiences. Anyone who wishes to have the project source code which shows how to interface a network object like a G100 to Mach3 may simply request a copy of the Visual Studio 2003 project to fenerty@... and Ill send it along. As of now the project is open source for Mach3 usage, is fairly well documented, and follows the Mach3 SDK quite well.
While the project will not show how to do Gcode movement yet, ( couple week away I think), it does show how to attach via Ethernet to a G100, and how to process IO and such, its my hope this will assist anyone who wishes to implement more complex G100 functionality over time into Mach3 as the firmware gets more functions included that native Mach3 will not necessarily use. All IO in this version is functional including Analogue and the 22 inputs and 16 outputs, as well as the 6 encoders. Until I add movement, the data from the encoders will not influence anything, but A,B and C axis encoders will become general MPG registers when movement is added, and the user wishes.
MachIV is not required anymore, but Ill leave it online until Mach3's plugin totally duplicates the movement functions, and all Gcode can be run. Then MachIV will go away forever. To use a G100 will be as simple as dropping in a plugin, and a cfg file if one wants it setup automatically, at present a cfg file for your system will be created when you initially flash your config to the G100 using this plugin.
This is only a test, my apologies for any errors.... Comments invited ..
For those not familiar with the PlugIn project, Mach3 now has an SDK to allow for interfacing any hardware to the system. This G100Plugin is the first test of such capability for external control of movement. It is my hope that over the next 2-3 months, more hardware will be added. So far, the ModIO baord is an open source plugin as is a JoyStick control plugin. The General SDK is available on the wesite, but requires Visual Studio 2003 or equivalent. This is the first "external controller" plugin. It will serve as the example for future devices. The hopefull intent is to have a minimum of 3 levels of hardware by years end. USB at 75Khz (DeskNC 3rd gen USB box), and TCP at 4Mhz (G100) box. Those two devices will be open source so users can modify them for specific purposes. There is also a developer working a serial servo controller of his own design. I have requests for Galil card plugins as well, but that will wait till the G100 and USB device are functional.
For those that have asked, this is basically my solution to the removal of Printer ports over the next 2 years or so. As printer ports go away, the G100 and USB controllers will begin to dominate so rather than try to support all comers in the hardware device area on my own, I felt would be better to allow any device to be interfaced. For my part, I will add trajectory information types at request to allow a plugin maker to conform to his device type. The current plugin shows how to do any I/O functions.
This may be a bit OT, but I hadn't announced the SDK on this group, so I thought Id mention it in case any C++ programmers are looking for somethign to play with, or wish to add their own hardware to Mach3. :-)
Thanks,
Art
www.artofcnc.ca
Videos And Support Forums http://www.machsupport.com
Users Map: http://www.frappr.com/machsupport
[Non-text portions of this message have been removed]
The first functional test of a G100 plugin for Mach3 is now online. It is on the downloads page on my website.
To use it, just install version 1.51 of Mach3, then copy the G100 DLL also on the download site to the C:\Mach3\PlugIns folder. There are no instructions, the program shoudl guide you suffiently when you use it. It is designed to be as idiot proof as possible. (since Im usually guilty of being one.) To configure it, use the operator/config plugins menu item.
This test is of discovery, connection, config flashing, and all IO. There is also a real-time status monitor to show the G100 internal registers. IO is immediate, any port 1 signal is sent or retrived from the G100 automatically. You may store the information that your using a G100 in any profile, so Mach3 can share a printer port in one profile with a G100 in another. You just cant use both at once.
This is an initial test, it seems bulletproof so far, Id be interested in comments or experiences. Anyone who wishes to have the project source code which shows how to interface a network object like a G100 to Mach3 may simply request a copy of the Visual Studio 2003 project to fenerty@... and Ill send it along. As of now the project is open source for Mach3 usage, is fairly well documented, and follows the Mach3 SDK quite well.
While the project will not show how to do Gcode movement yet, ( couple week away I think), it does show how to attach via Ethernet to a G100, and how to process IO and such, its my hope this will assist anyone who wishes to implement more complex G100 functionality over time into Mach3 as the firmware gets more functions included that native Mach3 will not necessarily use. All IO in this version is functional including Analogue and the 22 inputs and 16 outputs, as well as the 6 encoders. Until I add movement, the data from the encoders will not influence anything, but A,B and C axis encoders will become general MPG registers when movement is added, and the user wishes.
MachIV is not required anymore, but Ill leave it online until Mach3's plugin totally duplicates the movement functions, and all Gcode can be run. Then MachIV will go away forever. To use a G100 will be as simple as dropping in a plugin, and a cfg file if one wants it setup automatically, at present a cfg file for your system will be created when you initially flash your config to the G100 using this plugin.
This is only a test, my apologies for any errors.... Comments invited ..
For those not familiar with the PlugIn project, Mach3 now has an SDK to allow for interfacing any hardware to the system. This G100Plugin is the first test of such capability for external control of movement. It is my hope that over the next 2-3 months, more hardware will be added. So far, the ModIO baord is an open source plugin as is a JoyStick control plugin. The General SDK is available on the wesite, but requires Visual Studio 2003 or equivalent. This is the first "external controller" plugin. It will serve as the example for future devices. The hopefull intent is to have a minimum of 3 levels of hardware by years end. USB at 75Khz (DeskNC 3rd gen USB box), and TCP at 4Mhz (G100) box. Those two devices will be open source so users can modify them for specific purposes. There is also a developer working a serial servo controller of his own design. I have requests for Galil card plugins as well, but that will wait till the G100 and USB device are functional.
For those that have asked, this is basically my solution to the removal of Printer ports over the next 2 years or so. As printer ports go away, the G100 and USB controllers will begin to dominate so rather than try to support all comers in the hardware device area on my own, I felt would be better to allow any device to be interfaced. For my part, I will add trajectory information types at request to allow a plugin maker to conform to his device type. The current plugin shows how to do any I/O functions.
This may be a bit OT, but I hadn't announced the SDK on this group, so I thought Id mention it in case any C++ programmers are looking for somethign to play with, or wish to add their own hardware to Mach3. :-)
Thanks,
Art
www.artofcnc.ca
Videos And Support Forums http://www.machsupport.com
Users Map: http://www.frappr.com/machsupport
[Non-text portions of this message have been removed]