[ag-automation] LDI-Interface
Robert Schwebel
r.schwebel at pengutronix.de
Tue Jul 17 09:27:56 CEST 2007
Thomas,
On Tue, Jul 17, 2007 at 06:31:45AM +0200, Thomas Rothfuss wrote:
> Sorry for the delay of this answer. Your reply and some other mails
> from this mailing list were marked as spam :-( I didn't get them.
Welcome to the wonderful world of corporate mail systems :-)
> FAPIA is based on the ACE library
> (http://www.cs.wustl.edu/~schmidt/ACE.html). We decided to use the same
> license. See text below or at http://www.theaceorb.com/product/license.html
For the OSADL framework, things will have to be integrated into the C
code. But anyway, that's a thing we can do a little bit later, when the
framework itself has stabilized.
> For FAPIA only parameters exist. They have a parameter name. In the
> FAPIACommunication structure the logical_object_name has to be set as
> the destination address. The parameter name specifies the parameter at
> that logical device. Either the logical device is the communication
> partner like "CNC" (see function fapia_init below) or a logical device
> (e.g. "x-axis" which is mapped to the corresponding communication
> partner (e.g. "ProfinetProcess") by using a configuration file.
Let's postpone this part of the discussion for now.
> There are three functionalities:
>
> 1. The information about a parameter can be obtained (struct FAPIAInfo)
> 2. Parameters can be read (struct FAPIAParameter for the request and
> FAPIAValue for the response)
> 3. Parameters can be written (struct FAPIAParameter and FAPIAValue for
> the request)
I'm still wondering how the abstraction works. Application objects (like
motion controllers) shouldn't know anything about the fieldbus details
of the specific bus. Anything else would be a layering violation.
> I tried to send it but the message body was too big. Carsten Emde will
> set up some space to put it there.
You can check it into the SVN repository, for example here:
https://www.osadl.org/svn/osadl/software/fieldbus-framework/lddi-<timestamp>
My plan is to collect the existing pieces of code there first, then
merge everything into a common trunk when it's ready.
> > What is a "parameter" in your abstraction, for example for CANopen?
>
> See comment above.
I still don't understand it. Ok, there may be "parameters", which are
key/value pairs. But how do you use it? Can you explain an example for
a real-world parameter? How is it _used_?
> Copyright and Licensing Information for the FAPIA of Homag AG, Germany
Before even looking at this code we'd have to check if this license is
compatible with GPL+LinkException.
Robert
--
Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Hannoversche Str. 2, 31134 Hildesheim, Germany
Phone: +49-5121-206917-0 | Fax: +49-5121-206917-9
More information about the ag-automation
mailing list