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