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