From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,603faa0ab50152a0 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.180.24.130 with SMTP id u2mr1705995wif.6.1358656025164; Sat, 19 Jan 2013 20:27:05 -0800 (PST) Path: o9ni8446wio.1!nntp.google.com!feeder1.cambriumusenet.nl!82.197.223.108.MISMATCH!feeder2.cambriumusenet.nl!feeder3.cambriumusenet.nl!feed.tweaknews.nl!194.109.133.81.MISMATCH!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!border4.nntp.ams.giganews.com!border2.nntp.ams.giganews.com!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news.panservice.it!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: from LabView to Ada? HowTo? Date: Sat, 12 Jan 2013 10:33:36 +0100 Organization: cbb software GmbH Message-ID: <1iv8rcnave2k5$.zxshed7bggq1.dlg@40tude.net> References: Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: cDN0fd8KlIeJLyErIrSf0A.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Date: 2013-01-12T10:33:36+01:00 List-Id: 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