Re: [Emc-developers] curious about the ethernet protocol

2022-04-15 Thread gene heskett
On Friday, 15 April 2022 19:23:49 EDT Torsten Curdt via Emc-developers 
wrote:
> Hey there,
> 
> I was wondering the following - and mainly really to understand how
> LinuxCNC works.
> Since I couldn't get a proper answer in the user chat I thought I would
> try here.
> 
> IIUC the GCODE interpreter runs in the non-realtime part. It sends the
> step instructions to a card to execute the steps. This is obvious when
> using a LPT port, but how does this work via Ethernet?
> 
> Are the steps compressed into instructions and then applied on the Mesa
> cards?
> Poking around it seems like there are motion commands and status
> commands? So it probably sends "go there" and "where are you" and the
> card generates the steps required and reports back. Does that sound
> right? Is there a definition of the protocol to look at?
> I assume the code of what gets pushed to the Mesa's must be somewhere,
> too.
> 
> And now I hope I don't get lynched for asking:
> How is that ethernet protocol different from the Mach3 ethernet
> protocol? Are there significant differences between the protocols that
> would prohibit LinuxCNC speaking the Mach3 ethernet protocol?
> 
> Or maybe no one knows or cares? But I was wondering if
> implementing the protocol could be another alternative to flashing
> Remora to supported boards.
> 
> While waiting for Mesa stocks to recover, I am really just curious to
> understand the technical side of the LinuxCNC vs Mach3 comparison.
> 
> cheers,
> Torsten
> 
First, I'll say I know very little about ethernet, other than I get the 
impression that it is not well suited to realtime control. That doesn't 
mean I don't use it, theres 6 machines here on my home net, but I don't 
use it for machine control.

Second, the only thing I know about mach3 is that it came in a starter 
version with a 6040 4 axis gantry mill I bought, and it only half worked 
in fits and spurts. I wound up junking the entire electronics control box 
because the whole thing stank of built by lowest bidder stuff. The power 
supply was rated at about 1/3rd of the amps it needed and was folding 
back from its nameplate 24 volts to around 13 volts when the 4th axis was 
plugged in.  That was not enough to pick up the spindle motor when it was 
down. The vfd was not controllable by mach3, only by separate knobs on 
its own front panel, and even that was not a reliable method of starting 
or stopping it. Zero docs on the vfd unless you can read Chinese. It had 
a terminal marked rev but actually tossed a coin to see which way it ran 
this time. So I pitched the whole box in the trash trailer and built my 
own, using mesa parport driven hardware. Spindle motor was water cooled 
but a lightweight two bearing model, and the bearings started howling at 
about 5 hours. It was a 120 volt motor that flickered the garage lights, 
so I bought a 240 volt vfd and a decent 4 bearing motor. Wired that up 2 
years ago. The vfd had an rs485 interface and runs better than direct 
control using that interface. ATM its torn down, getting the z and b 
drivers and motors replaced with 3 phase stuff. XY runs at better than 
200 ipm now, and the new spindle is about a kg heavier than the old one 
so I'm hoping the 3 phase motor can pick it up faster than 20 ipm.

The A/B rotary wasn't able to hold against any cutting forces, so that 
was worthless right OOTB, so I designed and printed a miniature harmonic 
drive with a 50/1 ratio. Slow, but holds, or turns under load, like you 
would expect it to.

Linuxcnc is all synchronized, so when a fast axis and it moves at the 
same time, the fast axis slows down to stay in perfect synch when cutting 
threads and other such operations.

I paid $1350 for it, and I've put another thou+ in it making it a usable 
machine.  Had I stuck with mach3, I probably would have junked it all.  
One of the things you've got on this list is support for LinuxCNC from 
the people that have been writing it and improving it for at least 25 
years now. Development is active. Very active.

I now have 4 machines, all 4 basicly assembled from old raw materiel, 2 
lathes, two mills. The big lathe, an elderly Sheldon 11x54, now about 80 
years old, is actually being run by a raspberry pi, and doing tricks it 
could NOT do when shipped in the 1950 time frame. Why the pi? I wanted to 
see if it could be done, and its doing it quite well.

Who am I? A 20 year retired television engineer with an odd history. I've 
an 8th grade education, but I'm also a CET, and I can discuss the theory 
of relativity with anybody that cares. Now a widower, and 87 years old. 

My mother was the only girl in the 1929 class on Aviation Technology at 
Des Moines Tech High school, and if she didn't know the answer, she knew 
where the county library was, so in the 2nd grade, I asked her what 
gravity was, so I was doing McGuffies Readers in school, and reading high 
school physics textbooks at home after school. And we still can't merge 
gravity into a Theory of 

Re: [Emc-developers] curious about the ethernet protocol

2022-04-15 Thread Peter C. Wallace

On Sat, 16 Apr 2022, Torsten Curdt via Emc-developers wrote:


Date: Sat, 16 Apr 2022 01:23:49 +0200
From: Torsten Curdt via Emc-developers 
To: emc-developers@lists.sourceforge.net
Cc: Torsten Curdt 
Subject: [Emc-developers] curious about the ethernet protocol

Hey there,

I was wondering the following - and mainly really to understand how
LinuxCNC works.
Since I couldn't get a proper answer in the user chat I thought I would try
here.

IIUC the GCODE interpreter runs in the non-realtime part. It sends the step
instructions to a card to execute the steps. This is obvious when using a
LPT port, but how does this work via Ethernet?

Are the steps compressed into instructions and then applied on the Mesa
cards?
Poking around it seems like there are motion commands and status commands?
So it probably sends "go there" and "where are you" and the card generates
the steps required and reports back. Does that sound right? Is there a
definition of the protocol to look at?
I assume the code of what gets pushed to the Mesa's must be somewhere, too.


The way the Mesa stepgen works currently is basically copied from the software 
stepgen component. The host PC sends velocity commands to the stepgen hardware 
(a 48 bit DDS) and reads the stepgen current position (all at the nominal 1 KHz 
servo thread rate) Then a feedback loop in LinuxCNC or hal corrects for the 
minor position errors due to differences in timebases, delays between position 
reads and velocity writes, velocity setting resolution limits etc. This feedback 
loop keeps the position error each sample time to a small fraction of an 
external step.





And now I hope I don't get lynched for asking:
How is that ethernet protocol different from the Mach3 ethernet protocol?
Are there significant differences between the protocols that would prohibit
LinuxCNC speaking the Mach3 ethernet protocol?



Mach is not real time so needs buffered hardware/software in the remote device 
that stores a series of moves (perhaps PVT segments)  and plays them out while 
the host keeps the buffer full. This is not compatible with LinuxCNC's motion 
model where all motion hardware access is real time.




Or maybe no one knows or cares? But I was wondering if
implementing the protocol could be another alternative to flashing Remora
to supported boards.

While waiting for Mesa stocks to recover, I am really just curious to
understand the technical side of the LinuxCNC vs Mach3 comparison.

cheers,
Torsten

___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers



Peter Wallace
Mesa Electronics



___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


[Emc-developers] curious about the ethernet protocol

2022-04-15 Thread Torsten Curdt via Emc-developers
Hey there,

I was wondering the following - and mainly really to understand how
LinuxCNC works.
Since I couldn't get a proper answer in the user chat I thought I would try
here.

IIUC the GCODE interpreter runs in the non-realtime part. It sends the step
instructions to a card to execute the steps. This is obvious when using a
LPT port, but how does this work via Ethernet?

Are the steps compressed into instructions and then applied on the Mesa
cards?
Poking around it seems like there are motion commands and status commands?
So it probably sends "go there" and "where are you" and the card generates
the steps required and reports back. Does that sound right? Is there a
definition of the protocol to look at?
I assume the code of what gets pushed to the Mesa's must be somewhere, too.

And now I hope I don't get lynched for asking:
How is that ethernet protocol different from the Mach3 ethernet protocol?
Are there significant differences between the protocols that would prohibit
LinuxCNC speaking the Mach3 ethernet protocol?

Or maybe no one knows or cares? But I was wondering if
implementing the protocol could be another alternative to flashing Remora
to supported boards.

While waiting for Mesa stocks to recover, I am really just curious to
understand the technical side of the LinuxCNC vs Mach3 comparison.

cheers,
Torsten

___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] Why not have a trivkins setup with a slave axis

2022-04-15 Thread Andy Pugh



> On 15 Apr 2022, at 12:52, Marius  wrote:
> 
> Just wondering why is it not possible to have a standard three axis trivkins 
> setup with a possibility to slave a stepgen to any one of the axis.

You can do that. In fact it is very easy. 

net joint.0.motor-pos-cmd stepgen.0.position-cmd stepgen.4.position-cmd

ie pass the position command to two stepgens. 




___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] Why not have a trivkins setup with a slave axis

2022-04-15 Thread Marius



On 2022/04/15 14:12, Rod Webster wrote:

Using the joint axis features correctly (using a drive for each motor)
which takes very little effort, you can square the gantry in software by
changing the HOME_OFFSET.


I understand that and if it is a new machine it's no problem. Upgrading 
an existing machine that does not have home switches on both sides of 
the gantry and that does not need squaring up, it's easy with just three 
axis and not in joint mode. Many builders just put two drives on the 
same set of signals to overcome this issue. I don't like to do that as I 
have seen issues with drives that are situated a bit further away on 
larger machines.


There are further complications as some machines don't have a Z axis for 
instance. That makes it very difficult in joint mode as all the joints 
have to homed before you can run the machine.


I understand that this might seem to be an odd situation but it is a 
real one and there are many machines that need upgrade to Linuxcnc as 
the Mach3 software on XP with parports are becoming a huge issue to 
support. Most of those machines are build just like this and having a 
simple solution to upgrade using the same hardware (BOB"S etc with 7i92 
drop-in) is a real scenario.



Rod Webster
*1300 896 832*
+61 435 765 611
Vehicle Modifications Network
www.vehiclemods.net.au


On Fri, 15 Apr 2022 at 21:51, Marius  wrote:


Hi

Just wondering why is it not possible to have a standard three axis
trivkins setup with a possibility to slave a stepgen to any one of the
axis.

So it is not part of the kinematics just slaved to the command signal of
any axis?

It is done in Mach3 and I have installed many machines that run like
that. So not in gantry mode but in a slaved mode. It is an acceptable
way of building routes etc.

It would be great if that was possible as there are many machines that
need to migrate to Linuxcnc using 7i92 cards to plug into the Mach3 BOB's.




___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers



___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] Why not have a trivkins setup with a slave axis

2022-04-15 Thread Rod Webster
Using the joint axis features correctly (using a drive for each motor)
which takes very little effort, you can square the gantry in software by
changing the HOME_OFFSET.

Rod Webster
*1300 896 832*
+61 435 765 611
Vehicle Modifications Network
www.vehiclemods.net.au


On Fri, 15 Apr 2022 at 21:51, Marius  wrote:

> Hi
>
> Just wondering why is it not possible to have a standard three axis
> trivkins setup with a possibility to slave a stepgen to any one of the
> axis.
>
> So it is not part of the kinematics just slaved to the command signal of
> any axis?
>
> It is done in Mach3 and I have installed many machines that run like
> that. So not in gantry mode but in a slaved mode. It is an acceptable
> way of building routes etc.
>
> It would be great if that was possible as there are many machines that
> need to migrate to Linuxcnc using 7i92 cards to plug into the Mach3 BOB's.
>
>
>
>
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>

___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


[Emc-developers] Why not have a trivkins setup with a slave axis

2022-04-15 Thread Marius

Hi

Just wondering why is it not possible to have a standard three axis 
trivkins setup with a possibility to slave a stepgen to any one of the axis.


So it is not part of the kinematics just slaved to the command signal of 
any axis?


It is done in Mach3 and I have installed many machines that run like 
that. So not in gantry mode but in a slaved mode. It is an acceptable 
way of building routes etc.


It would be great if that was possible as there are many machines that 
need to migrate to Linuxcnc using 7i92 cards to plug into the Mach3 BOB's.





___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers