Art,
All the changes sounds excellent to me.
I have a question regarding the exporting the state of the system. Let me explain.
I have one of the Pendents sold by Richard Piatek. These are very nice and professional commercial unit. There is a one to one mapping for a lot of the buttons on the pendent to the mach2 functionality. You must be doing things right). all of these buttons have a LED indicator.
The pendent also has a 16x2 LCD character display, a 100 step/rev MPG and an ESTOP button. Pictures of it are in the files area.
The pendent is controlled by a large FPGA and a H8 Micro controller and communicates back to the original controller via RS-232. These are all on a separate PCB.
My plan is to replace the PCB with one of my own. It seems a shame to just connect the switches to a keyboard encoder as some plan to do. We could do something really special. The reason for replacing the board is that I believe that it will be too difficult to reverse engineer the existing controller board.
Although the pendent is packaged beautifully, there is nothing stopping use from putting all the same functionality into an "off the shelf" enclosure. After all it just contains a lot of switches, LEDs, a 2x16 character lcd display, estop switch, and a controller board.
One of the issues with just using a keyboard encoder is that the LEDs can show state. For example, there are 3 buttons labelled X1,X10,X100. These are the jog increments for the MPG. If X10 is pressed, then I assume that the LED for that button will stay illuminated to indicate the current jog increment. Also I'd expect the spindle Forward button's LED to flash when the spindle is ON.
Initially I considered keeping the state of the system in the pendant's micro controller. One of the first rules of software engineering is "If you store the state of a variable in two places, one of then will be wrong"
So, what am I after? A method of interacting/controlling Mach2 via a serial Port.
I don't know enough about the macro facility of Mach2 to know if a lot is already there.
Does each function in Mach2 have an OEM code?
Does a keyboard shortcut invoke an OEM code?
Is each function invoked by an OEM code written as a macro and able to be changed?
Can all of the variables that hold state, Spindle speed, MPG jog increment, MPG selected axis, etc be read and written to via macros?
On possible method for what I want to do may be to invoke the OEM functions via the serial port. That would mean that Mach2 would have to monitor the port and process a command set. This command set could be very similar to the existing OEM codes?
Also, it would be necessary to output the value of any states changes invoked out through the serial port.
For example, the spindle on/off control.- The user pushes the Spindle Forward button on the pendent. This sends an message (110 "M3") via the serial port to Mach2. The function that this calls sends a message containing the state of the Spindle LED out of the serial port. The pendent micro controller would process this message and update the associated LED on the pendent. Also pressing the spindle button on the screen or pressing the shortcut would also send out the Spindle LED state, as this is coded in the function.
The use of the serial port for pendent control would be configurable.
Another example. The MPG encoder.- On the pendent the user would select, via the rotary switch the axis, say the Y axis. This would send a message to Mach2 which would update the screen and send back the selected axis. The user then selects the X10 button. This sends a message to mach2 which sets the jog increment. Mach 2 responds with a message containing this variable. The pendent illuminates the LED. As the user rotates the MPG a stream of messages indicating +/- movement is sent to Mach2.
How much of what I'm asking is already there? I know that reading the serial port is not. How far away is that.
Another possibility may be. Is there a range of "User OEM Codes"? With these I could write macro functions that do what I defined above. With this I could implement a PS2 keyboard encoder still sending the state out of the serial port, but would still want the normal keyboard as well.
Am I asking too much? I'm not sure. I'm guessing that eventually Mach2 will be able to be used with a sophisticated pendent at some time.
I am happy to work on a pendent controller that will look after the pendent pushbuttons, LEDs, LCD, rotary switches and MPG. A defined interface method between Mach2 and the pendent controller would need to be identified. Once the controller is complete, people could package it as necessary for their application.
Sorry it's so long
Thanks,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
toggle quoted message
Show quoted text
-----Original Message----- From: Art [mailto:fenerty@...] Sent: Tuesday, 2 March 2004 10:01 AM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Next Development Version and Legacy Issues..
Hi All:
Just so everyone is on the same page, next version release will be a new development version. (5.0) and it WILL have some legacy issues unfortunately. For example, ..m1s and .t1s extensions are all replaced just with the .m1s . Macro's reside in separate directories with the name of the profile in use. So, for example, if your profile is Mach2Mill , the the folder will be ./Macros/Mach2Mill/*.m1s Also included is a toolfile tools.dat (Lathe or mill both use tools.dat) and it too resides in the profiles directory as above. No tools file is distributed, as before, but a new file is created if none is found in the new directory structure.
I really didn't want to go the route of legacy issues, but its time for some radical changes to Mach2 so some things just had to change in the development version. I have kept a spare build of the current lockdown for bug fixes and repairs , but the development version will encompass future feature upgrades and such. This is all in preperation for what I was refering to as conversational screens, but I think the way its looking, "Functional CNC" will be my prefered name. Basically it will entail pressing a button for a function "Like pocketing, flange drilling, chocolate cake making..or whatever" and having the user designable screen become the only screen for that functional run. All these "plug-ins" will have their own directories and Mach2 will index them and present selections for them at run time. These changes will probably necessitate other legacy changes , but I'll try to keep them to a minimum.
Thanks, Art www.artofcnc.ca
Yahoo! Groups Links
|
Peter: I too have one of these pendants. My impression (please correct me if I'm wrong) is that the RS-232 is for the LCD display. The rest of the functions (with the excption of the E-Stop) seem to communicate to the controller (originally Yaksawa) through a protocol named YE-NET (DeviceNet maybe?). This seems to use a bus based network over one pair of wires where the devices along the bus are indevidually addressable. The data is then sent serialy. The controller (MACH2)would have to interpet which key was pressed and the communications protocol would have to be converted to RS-232 usable signals/hardware. I've considered using a keyboard emulator, but as you point out, there's no easy way to light the LED's. Unfortunately I don't know enough about how to read or program the original microprocessor and flash ram that is in the pendant. One of the other purchasers has come up with an English manual from Yaskawa for the pendant which might help if someone wants to take a whack at it. Jeff --- In mach1mach2cnc@..., "Peter Homann" <peter.homann@a...> wrote: Art,
All the changes sounds excellent to me.
I have a question regarding the exporting the state of the system. Let me explain.
I have one of the Pendents sold by Richard Piatek. These are very nice and professional commercial unit. There is a one to one mapping for a lot of the buttons on the pendent to the mach2 functionality. You must be doing things right). all of these buttons have a LED indicator.
The pendent also has a 16x2 LCD character display, a 100 step/rev MPG and an ESTOP button. Pictures of it are in the files area.
The pendent is controlled by a large FPGA and a H8 Micro controller and communicates back to the original controller via RS-232. These are all on a separate PCB.
My plan is to replace the PCB with one of my own. It seems a shame to just connect the switches to a keyboard encoder as some plan to do. We could do something really special. The reason for replacing the board is that I believe that it will be too difficult to reverse engineer the existing controller board.
Although the pendent is packaged beautifully, there is nothing stopping use from putting all the same functionality into an "off the shelf" enclosure. After all it just contains a lot of switches, LEDs, a 2x16 character lcd display, estop switch, and a controller board.
One of the issues with just using a keyboard encoder is that the LEDs can show state. For example, there are 3 buttons labelled X1,X10,X100. These are the jog increments for the MPG. If X10 is pressed, then I assume that the LED for that button will stay illuminated to indicate the current jog increment. Also I'd expect the spindle Forward button's LED to flash when the spindle is ON.
Initially I considered keeping the state of the system in the pendant's micro controller. One of the first rules of software engineering is "If you store the state of a variable in two places, one of then will be wrong" So, what am I after? A method of interacting/controlling Mach2 via
a serial Port.
I don't know enough about the macro facility of Mach2 to know if a lot is already there.
Does each function in Mach2 have an OEM code?
Does a keyboard shortcut invoke an OEM code?
Is each function invoked by an OEM code written as a macro and able to be changed?
Can all of the variables that hold state, Spindle speed, MPG jog increment, MPG selected axis, etc be read and written to via macros?
On possible method for what I want to do may be to invoke the OEM functions via the serial port. That would mean that Mach2 would have to monitor the port and process a command set. This command set could be very similar to the existing OEM codes?
Also, it would be necessary to output the value of any states changes invoked out through the serial port.
For example, the spindle on/off control.- The user pushes the Spindle Forward button on the pendent. This sends an message (110 "M3") via the serial port to Mach2. The function that this calls sends a message containing the state of the Spindle LED out of the serial port. The pendent micro controller would process this message and update the associated LED on the pendent. Also pressing the spindle button on the screen or pressing the shortcut would also send out the Spindle LED state, as this is coded in the function.
The use of the serial port for pendent control would be configurable. Another example. The MPG encoder.- On the pendent the user would
select, via the rotary switch the axis, say the Y axis. This would send a message to Mach2 which would update the screen and send back the selected axis. The user then selects the X10 button. This sends a message to mach2 which sets the jog increment. Mach 2 responds with a message containing this variable. The pendent illuminates the LED. As the user rotates the MPG a stream of messages indicating +/- movement is sent to Mach2.
How much of what I'm asking is already there? I know that reading the serial port is not. How far away is that.
Another possibility may be. Is there a range of "User OEM Codes"? With these I could write macro functions that do what I defined above. With this I could implement a PS2 keyboard encoder still sending the state out of the serial port, but would still want the normal keyboard as well.
Am I asking too much? I'm not sure. I'm guessing that eventually Mach2 will be able to be used with a sophisticated pendent at some time.
I am happy to work on a pendent controller that will look after the pendent pushbuttons, LEDs, LCD, rotary switches and MPG. A defined interface method between Mach2 and the pendent controller would need to be identified. Once the controller is complete, people could package it as necessary for their application.
Sorry it's so long
Thanks,
Peter Homann mailto:Peter.Homann@a... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: Art [mailto:fenerty@a...] Sent: Tuesday, 2 March 2004 10:01 AM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Next Development Version and Legacy Issues..
Hi All:
Just so everyone is on the same page, next version release
will be a new development version. (5.0) and it WILL have some legacy issues unfortunately. For example, ..m1s and .t1s extensions are all replaced just with the .m1s . Macro's reside in separate directories with the name of the profile in use. So, for example, if your profile is Mach2Mill ,
the the folder will be ./Macros/Mach2Mill/*.m1s Also included is a toolfile tools.dat (Lathe or mill both use tools.dat) and it too resides in the profiles directory as above. No tools
file is distributed, as before, but a new file is created if none is
found in the new directory structure.
I really didn't want to go the route of legacy issues, but its
time for some radical changes to Mach2 so some things just had to change
in the development version. I have kept a spare build of the current
lockdown for bug fixes and repairs , but the development version will
encompass future feature upgrades and such. This is all in preperation for what I
was refering to as conversational screens, but I think the way its
looking, "Functional CNC" will be my prefered name. Basically it will entail pressing a button for a function "Like pocketing, flange drilling,
chocolate cake making..or whatever" and having the user designable screen
become the only screen for that functional run. All these "plug-ins" will have
their own directories and Mach2 will index them and present selections for them at run time. These changes will probably necessitate other legacy
changes , but I'll try to keep them to a minimum.
Thanks, Art www.artofcnc.ca
Yahoo! Groups Links
|
Hi Jeff,
You seem to know more about the interface than I. I just had a quick look and assumed that it all went through the RS-232.
Do you know how I can get hold of the manual? It may be possible to use the existing I/F by using a micro processor as a converter or some what.
Cheers,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
toggle quoted message
Show quoted text
-----Original Message----- From: washcomp [mailto:jeff@...] Sent: Tuesday, 2 March 2004 12:09 PM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Re: Next Development Version and Legacy Issues. + Pendent Issues
Peter:
I too have one of these pendants. My impression (please correct me if I'm wrong) is that the RS-232 is for the LCD display. The rest of the functions (with the excption of the E-Stop) seem to communicate to the controller (originally Yaksawa) through a protocol named YE-NET (DeviceNet maybe?). This seems to use a bus based network over one pair of wires where the devices along the bus are indevidually addressable. The data is then sent serialy.
The controller (MACH2)would have to interpet which key was pressed and the communications protocol would have to be converted to RS-232 usable signals/hardware.
I've considered using a keyboard emulator, but as you point out, there's no easy way to light the LED's.
Unfortunately I don't know enough about how to read or program the original microprocessor and flash ram that is in the pendant.
One of the other purchasers has come up with an English manual from Yaskawa for the pendant which might help if someone wants to take a whack at it.
Jeff
--- In mach1mach2cnc@..., "Peter Homann" <peter.homann@a...> wrote:
Art,
All the changes sounds excellent to me.
I have a question regarding the exporting the state of the system. Let me
explain.
I have one of the Pendents sold by Richard Piatek. These are very nice and
professional commercial unit. There is a one to one mapping for a lot of the
buttons on the pendent to the mach2 functionality. You must be doing things
right). all of these buttons have a LED indicator.
The pendent also has a 16x2 LCD character display, a 100 step/rev MPG and an
ESTOP button. Pictures of it are in the files area.
The pendent is controlled by a large FPGA and a H8 Micro controller and
communicates back to the original controller via RS-232. These are all on a
separate PCB.
My plan is to replace the PCB with one of my own. It seems a shame to just
connect the switches to a keyboard encoder as some plan to do. We could do
something really special. The reason for replacing the board is that I
believe that it will be too difficult to reverse engineer the existing
controller board.
Although the pendent is packaged beautifully, there is nothing stopping use
from putting all the same functionality into an "off the shelf" enclosure.
After all it just contains a lot of switches, LEDs, a 2x16 character lcd
display, estop switch, and a controller board.
One of the issues with just using a keyboard encoder is that the LEDs can
show state. For example, there are 3 buttons labelled X1,X10,X100. These are
the jog increments for the MPG. If X10 is pressed, then I assume that the
LED for that button will stay illuminated to indicate the current jog
increment. Also I'd expect the spindle Forward button's LED to flash when
the spindle is ON.
Initially I considered keeping the state of the system in the pendant's
micro controller. One of the first rules of software engineering is "If you
store the state of a variable in two places, one of then will be wrong"
So, what am I after? A method of interacting/controlling Mach2 via a serial
Port.
I don't know enough about the macro facility of Mach2 to know if a lot is
already there.
Does each function in Mach2 have an OEM code?
Does a keyboard shortcut invoke an OEM code?
Is each function invoked by an OEM code written as a macro and able to be
changed?
Can all of the variables that hold state, Spindle speed, MPG jog increment,
MPG selected axis, etc be read and written to via macros?
On possible method for what I want to do may be to invoke the OEM functions
via the serial port. That would mean that Mach2 would have to monitor the
port and process a command set. This command set could be very similar to
the existing OEM codes?
Also, it would be necessary to output the value of any states changes
invoked out through the serial port.
For example, the spindle on/off control.- The user pushes the Spindle
Forward button on the pendent. This sends an message (110 "M3") via the
serial port to Mach2. The function that this calls sends a message containing the state of the Spindle LED out of the serial port. The pendent
micro controller would process this message and update the associated LED on
the pendent. Also pressing the spindle button on the screen or pressing the
shortcut would also send out the Spindle LED state, as this is coded in the
function.
The use of the serial port for pendent control would be configurable.
Another example. The MPG encoder.- On the pendent the user would select, via
the rotary switch the axis, say the Y axis. This would send a message to
Mach2 which would update the screen and send back the selected axis. The
user then selects the X10 button. This sends a message to mach2 which sets
the jog increment. Mach 2 responds with a message containing this variable.
The pendent illuminates the LED. As the user rotates the MPG a stream of
messages indicating +/- movement is sent to Mach2.
How much of what I'm asking is already there? I know that reading the serial
port is not. How far away is that.
Another possibility may be. Is there a range of "User OEM Codes"? With these
I could write macro functions that do what I defined above. With this I
could implement a PS2 keyboard encoder still sending the state out of the
serial port, but would still want the normal keyboard as well.
Am I asking too much? I'm not sure. I'm guessing that eventually Mach2 will
be able to be used with a sophisticated pendent at some time.
I am happy to work on a pendent controller that will look after the pendent
pushbuttons, LEDs, LCD, rotary switches and MPG. A defined interface method
between Mach2 and the pendent controller would need to be identified. Once
the controller is complete, people could package it as necessary for their
application.
Sorry it's so long
Thanks,
Peter Homann mailto:Peter.Homann@a... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: Art [mailto:fenerty@a...] Sent: Tuesday, 2 March 2004 10:01 AM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Next Development Version and Legacy Issues..
Hi All:
Just so everyone is on the same page, next version release
will be a new
development version. (5.0) and it WILL have some legacy issues unfortunately. For example, ..m1s and .t1s extensions are all replaced just with the .m1s . Macro's reside in separate directories with the name of the profile in use. So, for example, if your profile is Mach2Mill , the the
folder will be ./Macros/Mach2Mill/*.m1s Also included is a toolfile tools.dat (Lathe or mill both use tools.dat) and it too resides in the profiles directory as above. No tools file is
distributed, as before, but a new file is created if none is found in the
new directory structure.
I really didn't want to go the route of legacy issues, but its time for
some radical changes to Mach2 so some things just had to change in the
development version. I have kept a spare build of the current lockdown for
bug fixes and repairs , but the development version will encompass future
feature upgrades and such. This is all in preperation for what I was
refering to as conversational screens, but I think the way its looking,
"Functional CNC" will be my prefered name. Basically it will entail pressing a button for a function "Like pocketing, flange drilling, chocolate cake
making..or whatever" and having the user designable screen become the only
screen for that functional run. All these "plug-ins" will have their own
directories and Mach2 will index them and present selections for them at run time. These changes will probably necessitate other legacy changes , but
I'll try to keep them to a minimum.
Thanks, Art www.artofcnc.ca
Yahoo! Groups Links
Yahoo! Groups Links
|
Hi Peter:
Does each function in Mach2 have an OEM code?
YEs, at least all the fucntion you currently can call as a user.
Does a keyboard shortcut invoke an OEM code?
It can, this is set in the screen designer..
Is each function invoked by an OEM code written as a macro and able to be changed?
No, most are internal functions.
Can all of the variables that hold state, Spindle speed, MPG jog increment, MPG selected axis, etc be read and written to via macros?
No, some can, but the list is very long indeed of all the variables. I haven't found a good way to pass them to the user or I would.....
On possible method for what I want to do may be to invoke the OEM functions via the serial port. That would mean that Mach2 would have to monitor the port and process a command set. This command set could be very similar to the existing OEM codes?
This is on the list, but may be awhile. Serial RX is not available yet. TX is no problem, but implementing rx is a problem due to lack of protocol. Some woudl like string message, some just numerical constants, hard to tell the best method, and thats why its been on hold for awhile.
Also, it would be necessary to output the value of any states changes invoked out through the serial port.
This isn't a problem , Mach2 can transmit now, simple hook to make it send packets, but I worry about the overhead, untested as to how much would slow everything down, this is all on the list but a bit low in priority. Like I said before though, when I return from vacation, I will list the list as it now stands and everyone here can set priorities on some of this. Perhaps someone bored can create a list on the database section of yahoo and everyoine could put their wish lists there so it can all be cooridnated somewhat..
Thanks, Art
Art www.artofcnc.ca
|
Give me your email and I will send you the manual in pdf. It took alot of work to hunt this down and get it from Yaskawa. Shawn
toggle quoted message
Show quoted text
----- Original Message ----- From: "Peter Homann" <peter.homann@...> To: <mach1mach2cnc@...> Sent: Monday, March 01, 2004 5:16 PM Subject: RE: [mach1mach2cnc] Re: Next Development Version and Legacy Issues. + Pendent Issues Hi Jeff,
You seem to know more about the interface than I. I just had a quick look and assumed that it all went through the RS-232.
Do you know how I can get hold of the manual? It may be possible to use the existing I/F by using a micro processor as a converter or some what.
Cheers,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: washcomp [mailto:jeff@...] Sent: Tuesday, 2 March 2004 12:09 PM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Re: Next Development Version and Legacy Issues. + Pendent Issues
Peter:
I too have one of these pendants. My impression (please correct me if I'm wrong) is that the RS-232 is for the LCD display. The rest of the functions (with the excption of the E-Stop) seem to communicate to the controller (originally Yaksawa) through a protocol named YE-NET (DeviceNet maybe?). This seems to use a bus based network over one pair of wires where the devices along the bus are indevidually addressable. The data is then sent serialy.
The controller (MACH2)would have to interpet which key was pressed and the communications protocol would have to be converted to RS-232 usable signals/hardware.
I've considered using a keyboard emulator, but as you point out, there's no easy way to light the LED's.
Unfortunately I don't know enough about how to read or program the original microprocessor and flash ram that is in the pendant.
One of the other purchasers has come up with an English manual from Yaskawa for the pendant which might help if someone wants to take a whack at it.
Jeff
--- In mach1mach2cnc@..., "Peter Homann" <peter.homann@a...> wrote:
Art,
All the changes sounds excellent to me.
I have a question regarding the exporting the state of the system. Let me
explain.
I have one of the Pendents sold by Richard Piatek. These are very nice and
professional commercial unit. There is a one to one mapping for a lot of the
buttons on the pendent to the mach2 functionality. You must be doing things
right). all of these buttons have a LED indicator.
The pendent also has a 16x2 LCD character display, a 100 step/rev MPG and an
ESTOP button. Pictures of it are in the files area.
The pendent is controlled by a large FPGA and a H8 Micro controller and
communicates back to the original controller via RS-232. These are all on a
separate PCB.
My plan is to replace the PCB with one of my own. It seems a shame to just
connect the switches to a keyboard encoder as some plan to do. We could do
something really special. The reason for replacing the board is that I
believe that it will be too difficult to reverse engineer the existing
controller board.
Although the pendent is packaged beautifully, there is nothing stopping use
from putting all the same functionality into an "off the shelf" enclosure.
After all it just contains a lot of switches, LEDs, a 2x16 character lcd
display, estop switch, and a controller board.
One of the issues with just using a keyboard encoder is that the LEDs can
show state. For example, there are 3 buttons labelled X1,X10,X100. These are
the jog increments for the MPG. If X10 is pressed, then I assume that the
LED for that button will stay illuminated to indicate the current jog
increment. Also I'd expect the spindle Forward button's LED to flash when
the spindle is ON.
Initially I considered keeping the state of the system in the pendant's
micro controller. One of the first rules of software engineering is "If you
store the state of a variable in two places, one of then will be wrong"
So, what am I after? A method of interacting/controlling Mach2 via a serial
Port.
I don't know enough about the macro facility of Mach2 to know if a lot is
already there.
Does each function in Mach2 have an OEM code?
Does a keyboard shortcut invoke an OEM code?
Is each function invoked by an OEM code written as a macro and able to be
changed?
Can all of the variables that hold state, Spindle speed, MPG jog increment,
MPG selected axis, etc be read and written to via macros?
On possible method for what I want to do may be to invoke the OEM functions
via the serial port. That would mean that Mach2 would have to monitor the
port and process a command set. This command set could be very similar to
the existing OEM codes?
Also, it would be necessary to output the value of any states changes
invoked out through the serial port.
For example, the spindle on/off control.- The user pushes the Spindle
Forward button on the pendent. This sends an message (110 "M3") via the
serial port to Mach2. The function that this calls sends a message containing the state of the Spindle LED out of the serial port. The pendent
micro controller would process this message and update the associated LED on
the pendent. Also pressing the spindle button on the screen or pressing the
shortcut would also send out the Spindle LED state, as this is coded in the
function.
The use of the serial port for pendent control would be configurable.
Another example. The MPG encoder.- On the pendent the user would select, via
the rotary switch the axis, say the Y axis. This would send a message to
Mach2 which would update the screen and send back the selected axis. The
user then selects the X10 button. This sends a message to mach2 which sets
the jog increment. Mach 2 responds with a message containing this variable.
The pendent illuminates the LED. As the user rotates the MPG a stream of
messages indicating +/- movement is sent to Mach2.
How much of what I'm asking is already there? I know that reading the serial
port is not. How far away is that.
Another possibility may be. Is there a range of "User OEM Codes"? With these
I could write macro functions that do what I defined above. With this I
could implement a PS2 keyboard encoder still sending the state out of the
serial port, but would still want the normal keyboard as well.
Am I asking too much? I'm not sure. I'm guessing that eventually Mach2 will
be able to be used with a sophisticated pendent at some time.
I am happy to work on a pendent controller that will look after the pendent
pushbuttons, LEDs, LCD, rotary switches and MPG. A defined interface method
between Mach2 and the pendent controller would need to be identified. Once
the controller is complete, people could package it as necessary for their
application.
Sorry it's so long
Thanks,
Peter Homann mailto:Peter.Homann@a... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: Art [mailto:fenerty@a...] Sent: Tuesday, 2 March 2004 10:01 AM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Next Development Version and Legacy Issues..
Hi All:
Just so everyone is on the same page, next version release
will be a new
development version. (5.0) and it WILL have some legacy issues unfortunately. For example, ..m1s and .t1s extensions are all replaced just with the .m1s . Macro's reside in separate directories with the name of the profile in use. So, for example, if your profile is Mach2Mill , the the
folder will be ./Macros/Mach2Mill/*.m1s Also included is a toolfile tools.dat (Lathe or mill both use tools.dat) and it too resides in the profiles directory as above. No tools file is
distributed, as before, but a new file is created if none is found in the
new directory structure.
I really didn't want to go the route of legacy issues, but its time for
some radical changes to Mach2 so some things just had to change in the
development version. I have kept a spare build of the current lockdown for
bug fixes and repairs , but the development version will encompass future
feature upgrades and such. This is all in preperation for what I was
refering to as conversational screens, but I think the way its looking,
"Functional CNC" will be my prefered name. Basically it will entail pressing a button for a function "Like pocketing, flange drilling, chocolate cake
making..or whatever" and having the user designable screen become the only
screen for that functional run. All these "plug-ins" will have their own
directories and Mach2 will index them and present selections for them at run time. These changes will probably necessitate other legacy changes , but
I'll try to keep them to a minimum.
Thanks, Art www.artofcnc.ca
Yahoo! Groups Links
Yahoo! Groups Links
Yahoo! Groups Links
|
Give me your email and I will send you the manual in pdf. It took alot of work to hunt this down and get it from Yaskawa. Shawn
toggle quoted message
Show quoted text
----- Original Message ----- From: "Peter Homann" <peter.homann@...> To: <mach1mach2cnc@...> Sent: Monday, March 01, 2004 5:16 PM Subject: RE: [mach1mach2cnc] Re: Next Development Version and Legacy Issues. + Pendent Issues
Hi Jeff,
You seem to know more about the interface than I. I just had a quick look and assumed that it all went through the RS-232.
Do you know how I can get hold of the manual? It may be possible to use the
existing I/F by using a micro processor as a converter or some what.
Cheers,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: washcomp [mailto:jeff@...] Sent: Tuesday, 2 March 2004 12:09 PM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Re: Next Development Version and Legacy
Issues. + Pendent Issues
Peter:
I too have one of these pendants. My impression (please correct me if I'm wrong) is that the RS-232 is for the LCD display. The rest of the functions (with the excption of the E-Stop) seem to communicate to the controller (originally Yaksawa) through a protocol named YE-NET (DeviceNet maybe?). This seems to use a bus based network over one pair of wires where the devices along the bus are indevidually addressable. The data is then sent serialy.
The controller (MACH2)would have to interpet which key was pressed and the communications protocol would have to be converted to RS-232 usable signals/hardware.
I've considered using a keyboard emulator, but as you point out, there's no easy way to light the LED's.
Unfortunately I don't know enough about how to read or program the original microprocessor and flash ram that is in the pendant.
One of the other purchasers has come up with an English manual from Yaskawa for the pendant which might help if someone wants to take a whack at it.
Jeff
--- In mach1mach2cnc@..., "Peter Homann" <peter.homann@a...> wrote:
Art,
All the changes sounds excellent to me.
I have a question regarding the exporting the state of the system. Let me
explain.
I have one of the Pendents sold by Richard Piatek. These are very nice and
professional commercial unit. There is a one to one mapping for a lot of the
buttons on the pendent to the mach2 functionality. You must be doing things
right). all of these buttons have a LED indicator.
The pendent also has a 16x2 LCD character display, a 100 step/rev MPG and an
ESTOP button. Pictures of it are in the files area.
The pendent is controlled by a large FPGA and a H8 Micro controller and
communicates back to the original controller via RS-232. These are all on a
separate PCB.
My plan is to replace the PCB with one of my own. It seems a shame to just
connect the switches to a keyboard encoder as some plan to do. We could do
something really special. The reason for replacing the board is that I
believe that it will be too difficult to reverse engineer the existing
controller board.
Although the pendent is packaged beautifully, there is nothing stopping use
from putting all the same functionality into an "off the shelf" enclosure.
After all it just contains a lot of switches, LEDs, a 2x16 character lcd
display, estop switch, and a controller board.
One of the issues with just using a keyboard encoder is that the LEDs can
show state. For example, there are 3 buttons labelled X1,X10,X100. These are
the jog increments for the MPG. If X10 is pressed, then I assume that the
LED for that button will stay illuminated to indicate the current jog
increment. Also I'd expect the spindle Forward button's LED to flash when
the spindle is ON.
Initially I considered keeping the state of the system in the pendant's
micro controller. One of the first rules of software engineering is "If you
store the state of a variable in two places, one of then will be wrong"
So, what am I after? A method of interacting/controlling Mach2 via a serial
Port.
I don't know enough about the macro facility of Mach2 to know if a lot is
already there.
Does each function in Mach2 have an OEM code?
Does a keyboard shortcut invoke an OEM code?
Is each function invoked by an OEM code written as a macro and able to be
changed?
Can all of the variables that hold state, Spindle speed, MPG jog increment,
MPG selected axis, etc be read and written to via macros?
On possible method for what I want to do may be to invoke the OEM functions
via the serial port. That would mean that Mach2 would have to monitor the
port and process a command set. This command set could be very similar to
the existing OEM codes?
Also, it would be necessary to output the value of any states changes
invoked out through the serial port.
For example, the spindle on/off control.- The user pushes the Spindle
Forward button on the pendent. This sends an message (110 "M3") via the
serial port to Mach2. The function that this calls sends a message containing the state of the Spindle LED out of the serial port. The pendent
micro controller would process this message and update the associated LED on
the pendent. Also pressing the spindle button on the screen or pressing the
shortcut would also send out the Spindle LED state, as this is coded in the
function.
The use of the serial port for pendent control would be configurable.
Another example. The MPG encoder.- On the pendent the user would select, via
the rotary switch the axis, say the Y axis. This would send a message to
Mach2 which would update the screen and send back the selected axis. The
user then selects the X10 button. This sends a message to mach2 which sets
the jog increment. Mach 2 responds with a message containing this variable.
The pendent illuminates the LED. As the user rotates the MPG a stream of
messages indicating +/- movement is sent to Mach2.
How much of what I'm asking is already there? I know that reading the serial
port is not. How far away is that.
Another possibility may be. Is there a range of "User OEM Codes"? With these
I could write macro functions that do what I defined above. With this I
could implement a PS2 keyboard encoder still sending the state out of the
serial port, but would still want the normal keyboard as well.
Am I asking too much? I'm not sure. I'm guessing that eventually Mach2 will
be able to be used with a sophisticated pendent at some time.
I am happy to work on a pendent controller that will look after the pendent
pushbuttons, LEDs, LCD, rotary switches and MPG. A defined interface method
between Mach2 and the pendent controller would need to be identified. Once
the controller is complete, people could package it as necessary for their
application.
Sorry it's so long
Thanks,
Peter Homann mailto:Peter.Homann@a... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: Art [mailto:fenerty@a...] Sent: Tuesday, 2 March 2004 10:01 AM To: mach1mach2cnc@... Subject: [mach1mach2cnc] Next Development Version and Legacy Issues..
Hi All:
Just so everyone is on the same page, next version release
will be a new
development version. (5.0) and it WILL have some legacy issues unfortunately. For example, ..m1s and .t1s extensions are all replaced just with the .m1s . Macro's reside in separate directories with the name of the profile in use. So, for example, if your profile is Mach2Mill , the the
folder will be ./Macros/Mach2Mill/*.m1s Also included is a toolfile tools.dat (Lathe or mill both use tools.dat) and it too resides in the profiles directory as above. No tools file is
distributed, as before, but a new file is created if none is found in the
new directory structure.
I really didn't want to go the route of legacy issues, but its time for
some radical changes to Mach2 so some things just had to change in the
development version. I have kept a spare build of the current lockdown for
bug fixes and repairs , but the development version will encompass future
feature upgrades and such. This is all in preperation for what I was
refering to as conversational screens, but I think the way its looking,
"Functional CNC" will be my prefered name. Basically it will entail pressing a button for a function "Like pocketing, flange drilling, chocolate cake
making..or whatever" and having the user designable screen become the only
screen for that functional run. All these "plug-ins" will have their own
directories and Mach2 will index them and present selections for them at run time. These changes will probably necessitate other legacy changes , but
I'll try to keep them to a minimum.
Thanks, Art www.artofcnc.ca
Yahoo! Groups Links
Yahoo! Groups Links
Yahoo! Groups Links
|
Hi Art,
Thanks for the reply, and have a good break. You need it you've been flat out like a lizard drinking!
On more question if I may?
I presume I can have a keyboard shortcut that calls a macro I write? say My_Spindle_CW
Then, in my macro, call the "Spindle CW" function, then read the status of the "Spindle CW LED" and send it out the serial port?
Maybe what I need to do now is built the pendent controller. That will take a while, Then try it and go from there.
I'm thinking of using a USB I/F that has both a keyboard and a serial port in it.
are you planning on supporting more than 1 serial port?
Cheers,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
toggle quoted message
Show quoted text
-----Original Message----- From: Art [mailto:fenerty@...] Sent: Tuesday, 2 March 2004 1:07 PM To: mach1mach2cnc@... Subject: Re: [mach1mach2cnc] Next Development Version and Legacy Issues. + Pendent Issues
Hi Peter:
Does each function in Mach2 have an OEM code?
YEs, at least all the fucntion you currently can call as a user.
Does a keyboard shortcut invoke an OEM code?
It can, this is set in the screen designer..
Is each function invoked by an OEM code written as a macro and able to be changed?
No, most are internal functions.
Can all of the variables that hold state, Spindle speed, MPG jog increment, MPG selected axis, etc be read and written to via macros?
No, some can, but the list is very long indeed of all the variables. I haven't found a good way to pass them to the user or I would.....
On possible method for what I want to do may be to invoke the OEM functions via the serial port. That would mean that Mach2 would have to monitor the port and process a command set. This command set could be very similar to the existing OEM codes?
This is on the list, but may be awhile. Serial RX is not available yet. TX is no problem, but implementing rx is a problem due to lack of protocol. Some woudl like string message, some just numerical constants, hard to tell the best method, and thats why its been on hold for awhile.
Also, it would be necessary to output the value of any states changes invoked out through the serial port.
This isn't a problem , Mach2 can transmit now, simple hook to make it send packets, but I worry about the overhead, untested as to how much would slow everything down, this is all on the list but a bit low in priority. Like I said before though, when I return from vacation, I will list the list as it now stands and everyone here can set priorities on some of this. Perhaps someone bored can create a list on the database section of yahoo and everyoine could put their wish lists there so it can all be cooridnated somewhat..
Thanks, Art
Art www.artofcnc.ca
Yahoo! Groups Links
|
Hi Peter: > I presume I can have a keyboard shortcut that calls a macro I write? say My_Spindle_CW All you need to do is drop a button on the screen with designer, and then enter the script into that buttons scipt box, then set a hot key to it. Then, in my macro, call the "Spindle CW" function, then read the status of the "Spindle CW LED" and send it out the serial port?
Yes, quite possible.
Maybe what I need to do now is built the pendent controller. That will
take a while, Then try it and go from there.
I'm thinking of using a USB I/F that has both a keyboard and a serial port in it.
are you planning on supporting more than 1 serial port? Probably not. Usually when sending to multiple devices serially, the devices have an addressable feature that allows sending a message of the format "Dev1, SPINDLEON" as a stream or some such arrangement. Thanks, Art Cheers,
Peter Homann mailto:Peter.Homann@... Adacel Technologies Limited, 250 Bay St, BRIGHTON, 3186, AUSTRALIA <> Telephone +61 (3) 8530 7777, Facsimile +61 (3) 9596 2960 Mobile 0421-601 665
-----Original Message----- From: Art [mailto:fenerty@...] Sent: Tuesday, 2 March 2004 1:07 PM To: mach1mach2cnc@... Subject: Re: [mach1mach2cnc] Next Development Version and Legacy Issues. + Pendent Issues
Hi Peter:
Does each function in Mach2 have an OEM code?
YEs, at least all the fucntion you currently can call as a user.
Does a keyboard shortcut invoke an OEM code?
It can, this is set in the screen designer..
Is each function invoked by an OEM code written as a macro and able to
be changed?
No, most are internal functions.
Can all of the variables that hold state, Spindle speed, MPG jog increment, MPG selected axis, etc be read and written to via macros?
No, some can, but the list is very long indeed of all the variables. I haven't found a good way to pass them to the user or I would.....
On possible method for what I want to do may be to invoke the OEM functions via the serial port. That would mean that Mach2 would have to monitor
the port and process a command set. This command set could be very similar
to the existing OEM codes?
This is on the list, but may be awhile. Serial RX is not available yet. TX is no problem, but implementing rx is a problem due to lack of protocol. Some woudl like string message, some just numerical constants, hard to tell the best method, and thats why its been on hold for awhile.
Also, it would be necessary to output the value of any states changes invoked out through the serial port.
This isn't a problem , Mach2 can transmit now, simple hook to make it send packets, but I worry about the overhead, untested as to how much would slow everything down, this is all on the list but a bit low in priority. Like
I said before though, when I return from vacation, I will list the list as it now stands and everyone here can set priorities on some of this. Perhaps someone bored can create a list on the database section of yahoo and everyoine could put their wish lists there so it can all be cooridnated somewhat..
Thanks, Art
Art www.artofcnc.ca
Yahoo! Groups Links
Yahoo! Groups Links
|