Re: Hardware Abstraction Layer - Rev 0.01
Hi Dave.
I'm going to snip out a lot of your post and leave that for the programmers
but I want to make three comments based on parts of your post.
>Attending NAMES kinda lit a fire I guess. So at this
> moment in time I'm working on aquiring some hardware to make my first CNC.
It is a narcotic.
> Most of my hands on experience with CNC has been as a maintenance tech
> working on a large number of Bandit controllers, proprietary controllers
> and more recently some FANUC controllers.
A kindred spirit. Bandit must be a joy! I've found that servicing these CNC
things gives one a kind of world view that makes you look at all of the parts
that go into one of these things. I've often been shown something that the
machine was doing or not doing and had to consider the whole range of
possible causes because it could be hardware, hydraulics, electrics,
electronics, ladder, program, or part program. My first experience was a
three way "not our problem," between Hardinge, GE, and the folk who built
those clunky mechanical terminals.
> ...very few motion
> controllers or CNC controllers send axis control information through
> other software and hardware. Maybe the answer is a mixture where the
> loop closure data is handled differently than the other I/O associated
> with EMC.
One reason that this is an issue at the moment is that Jon Elson has
developed a set of outboard hardware that is communicated with using an EPP
parallel port. In order for Jon to carry both I/O and servo/stepper info on
the same wire, he has to mix them on the real-time side of shared memory.
IMO this is or was the trigger event that has caused us to look again at the
paths that data take through the EMC.
I believe that there are a few I/O bits from the real world, the logic of
which must be handled on the real-time side of things. E-stop and hard
limits are ones that I'd like to see there. The probe switch or pin whether
it is used for generating a part outline or measuring tools is another. At
the same time, there are many others that I don't care a whit whether they
get updated in the stepper loop, servo loop, I/O loop, task loop or GUI loop.
Coolant and lube come to mind as examples here.
I believe that the HAL will allow us to start more than one PLC at the same
time. Each will run in it's own space whether hard real, user real, or
whenever it can. Don't have any external switches, don't start any. Have
estop and limits start that. Have a pendant start the module or modules for
that.
This leads me to suggest that down the road a piece we will be forced to
think of more than a single processor or slice of shared memory where a bit
on the real time side of one device is needed by a process running on the
real time side of another. Here we come to the question you posed about what
is fast enough.
Ray
On Saturday 10 May 2003 09:53 am, Dave F wrote:
> Hi John;
<s>
Date Index |
Thread Index |
Back to archive index |
Back to Mailing List Page
Problems or questions? Contact