开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育

Next Development Version and Legacy Issues. + Pendent Issues


Peter Homann
 

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

-----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






washcomp
 

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






Peter Homann
 

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






Art
 

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


Shawncd
 

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

----- 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





Shawncd
 

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

----- 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





Peter Homann
 

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

-----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






Art
 

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