[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