Re: DIO_Exercise part 2




Hi Eric.

First let me suggest some of the uses that I have in mind for a DIO card 
with the EMC and then get to the specifics of how I'd like the stuff to 
work.

The I/O problems that I see are not directly related to motion commands 
or the home, limit, and such that currently travel with the motion stuff. 
I see an immediate need for hard-wired control panels (HMI) and I/O 
points that can be manipulated by ClassicLadder in concert with an iosh 
like connector to produce software PLC's.

I can already count several commercial machines among our users that are 
in some stage of retrofit to the EMC controller.  The machines that 
already move, ignore all of the auxiliary stuff that they had in 
operation with their factory controls.  This is the kind of application 
that I see for these I/O cards.  They are like bridgeportio both in 
external read and energize and in the parallel NML stream that it reads 
and generates.  They are different only because they use larger sets of 
pins and the actions may be under ladder logic programming control.

I'm thinking that I'll add a set of variable to the EMCIO section of the 
ini file which points to the kind of card(s) to look for during startup.  
With ISA we can directly address and set up the ports of the cards there 
with something like

DIO1 = WINFORD CRD155B
WINFORD = 0x180
WINFORD_CONTROL_WORD = 10001011

This allows me to pass the type of board, base io address and any initial 
control mode that I choose directly to the board's 8255.  (the above 
should be A-out, B and C in, I think)

It is a bit more difficult if the card is in a PCI slot since the base 
address is dynamically assigned.  I believe that I can find the card 
using a grep of cat /proc/pci with DIO1.  Then find the register 
addresses near that location.  What I find when I cat /proc/pci with the 
measurement computing board follows.

  Bus  0, device   9, function  0:
    Class ffff: Computer Boards PCI-DIO24 (rev 2).
      IRQ 11.
      Non-prefetchable 32 bit memory at 0xe8001000 [0xe800107f].
      I/O at 0xd800 [0xd87f].
      I/O at 0xdc00 [0xdc03].

I would like to set the following variables.

DIO2 = PCI-DIO24 
PCI-DIO24_CONTROL_WORD = 10001011

What I was not able to do was set the control register with a direct 
write to the address where I though it should be.  Whenever I tried this 
the computer seemed to become unresponsive within thirty seconds or so.

I did find a module that could be installed that would allow me to 
initialize the PCI-DIO board.  Once initialized I could directly change 
pins and read inputs. I guess what I was wishing for was a single process 
in tickle that would work for either an ISA or PCI once I had found the 
base address of the card.

Thanks for the link to the register page.  I'll try again when I finish 
with my current project.

Ray 


On Monday 17 February 2003 08:56 am, Eric wrote:
> Ray,
> What is the final goal for direct configuration?  Do you want to put it
> into a version of emcmot?  Or is it user side i/o.  I'm confused about
> the user side dio requirements for emc.
>
>
> Did you see this file:
> http://www.measurementcomputing.com/registermaps/RegMapPCI-DIO24X.pdf. 
> Once you use the linux functions to find the base address of the board,
> you use the register map to setup and use the port.
>
> I'm sorry I haven't finished my driver, or I could send you my code. 
> Anything I can do to help, just ask.
> Regards,
> Eric
>
> On Tue, 21 Jan 2003 23:12:51, Ray Henry wrote:
> > As promised, I've tested DIO_Exercise.tcl with a PCI DIO-24 board
> > from Measurement Computing.  I don't have a complete handle on how to
> > configure this card without some help.  It does not work the way that
> > the ISA card tested does.
> >
> > There is quite a bunch of driver software for cards by this company
> > available at the url below.
> >
> > ftp://lx10.tx.ncsu.edu/pub/Linux/drivers
> >
> > This driver was written by Warren J. Jasper wjasper-at-tx.ncsu.edu at
> > North Carolina State University.   I downloaded the sources and made
> > the drivers.  This tests out well with the TNG or with a 2.4.18
> > kernel and the RTAI patches.
> >
> > Once that drivers is installed and a configuration sent to the PCI
> > card, I can use the exerciser to set and read port values.  I'll keep
> > digging on direct configuration of the board.
> >
> > Ray




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact