comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: from LabView to Ada? HowTo?
Date: Sat, 12 Jan 2013 10:33:36 +0100
Date: 2013-01-12T10:33:36+01:00	[thread overview]
Message-ID: <1iv8rcnave2k5$.zxshed7bggq1.dlg@40tude.net> (raw)
In-Reply-To: kcqcen$5ce$1@speranza.aioe.org

On Sat, 12 Jan 2013 00:57:59 +0000 (UTC), Mutek wrote:

> I wuold like to investigate if is possible to migrate or just restart 
> over from an actual LabView Windows environment to a multiplatform Ada/
> Gnu/Linux based solution.
> 
> I use LabView to do very simple datalogging with a lot transducers: 
> analog hight pressure transducers, thermocouple/temperature transducers, 
> LVDT analog and PWM/digital datalogging and so on.
> I'm just using some very expensive NI boards but I would like to stay 
> away from them.
> 
> Is there a way to use Analog/Digital IO boards with GNU/Linux and program 
> direct with Ada?

Depends on what you mean under "direct." But in the context of having it
multiplatform, inexpensive, maintainable etc, the answer is no.

You cannot access hardware (PCI boards) directly under Linux or Windows
(you could under say VxWorks, but should not either). You will need a
driver for that. And you will need some layer (middleware) to abstract the
OS and driver specifics and especially to protect yourself from vendor
changing their API (they do).

> Do you know if it's possible and how? (pointing me to some working 
> reference)
> 
> I mean something very closed to Arduino hardware but more professional in 
> terms of measurement precision.

What is that? A single-board PC?

Anyway, I/O boards and integrated GPIO may look attractive at first glance,
but in the end appear economically infeasible, unless you are Boeing.

At cbb software GmbH we face this problem regularly. We deploy I/O
terminals instead. There is a huge number of vendors and many protocols
(so-called field bus protocols) of such terminals, e.g. CAN-based, ModBus,
EtherCAT, XCP, CCP, FlexRay and so on. I/O boards practically vanished from
automation in the recent decade.

For non-RT, and if you wanted to implement it yourself from scratch, you
could use ModBus would be the simplest. E.g. Wago 750 series

http://www.wago.de/media/02_products/m07500881_00000000_0en.pdf

For RT EtherCAT is the best choice. It is also less expensive than ModBus.
But the protocol is extremely complex, so you would need to buy a
commercial EtherCAT master software.

> Arduino needs to load the firmware via Processing so it's a bit far from 
> what I mean (using Ada to metacompile Processing and then inject into the 
> board)...I mean something closed to what you can do in C when vendors 
> give you the drivers and the .h to develop direct your solution...
> So how can I do this in Ada?

We have a middleware layer which our application software (in Ada and other
languages) accesses. The vendor-specific hardware is docked at the
middleware, using vendor API, if available. Data logging and/or database
access is done at the middleware level of course.
 
-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2013-01-12  9:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-12  0:57 from LabView to Ada? HowTo? Mutek
2013-01-12  2:00 ` Patrick
2013-01-12  9:33 ` Dmitry A. Kazakov [this message]
2013-01-12 11:07 ` Brian Drummond
2013-01-12 20:28 ` Per Sandberg
2013-01-14  9:15 ` Jacob Sparre Andersen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox