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.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,38d01316d66d8f95 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII Received: by 10.68.235.4 with SMTP id ui4mr15591080pbc.3.1332196016212; Mon, 19 Mar 2012 15:26:56 -0700 (PDT) Path: kz5ni8913pbc.0!nntp.google.com!news1.google.com!postnews.google.com!r27g2000vbn.googlegroups.com!not-for-mail From: slos Newsgroups: comp.lang.ada Subject: Re: Ada and linux real time Date: Mon, 19 Mar 2012 15:20:20 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <13z45jd9irz9x.1j2hj7ayxwkyj.dlg@40tude.net> <5777a4dc-67ef-4a35-b929-653a4d498aac@q11g2000vbu.googlegroups.com> <4f67187d$0$7625$9b4e6d93@newsspool1.arcor-online.net> <1lnilcgari5ww.na1uw3ic1xt8.dlg@40tude.net> <6w174t3ncpcf.145utdbreekt1.dlg@40tude.net> NNTP-Posting-Host: 80.119.168.53 Mime-Version: 1.0 X-Trace: posting.google.com 1332196016 8555 127.0.0.1 (19 Mar 2012 22:26:56 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 19 Mar 2012 22:26:56 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: r27g2000vbn.googlegroups.com; posting-host=80.119.168.53; posting-account=O3LyFwoAAACc1uh60ZcOUmAGdDmGsEcV User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.3) Gecko/20100101 Firefox/10.0.3 Iceweasel/10.0.3,gzip(gfe) Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Date: 2012-03-19T15:20:20-07:00 List-Id: Hello Mister Kazakov, > You don't need an RT OS for most PLCs. Even Windows is real time enough t= o > deliver 5ms cycles. I agree. > > Of course, it depends on the physical process. The things we control are > very fast (burning processes). This is why our cycles are quite short > 0.2-0.1ms. But that is rather an exception. For mechanical systems 1ms > should be enough. And more mass you have to move, longer can be the cycle > and less should you worry about the jitter. I agree. This is why I wonder about PREEMPT_RT. > > So, if the sabre is not of light, you could just use Windows or normal > Linux. Right. > > The superiority of Ada is that what you write is truly portable. Well, I am here for that reason among others. > Our engineers test their models right under Windows and only when these w= ork > they actually try VxWorks. The code is exactly same, no modifications > needed. The sensors/actuators and networking communication is decoupled b= y > a middleware, which is also written in Ada. You could say the same about RTX. I am not a specialist of those systems. But I am looking for a free alternative. > > -- > Regards, > Dmitry A. Kazakovhttp://www.dmitry-kazakov.de I know I can have this framework working on Linux. It actually does so and pretty well so far. I am experimenting with Ada and Real Time on Linux and there are at least three alternatives : PREEMPT_RT for general control, Xenomai and RTAI for higher performance needs. For the moment I don't know how this framework will evolve since : - I am learning Ada and I don't know if I will find it interesting enough to continue, - I am targeting simple process control for beginners but I want to be sure it can scale to motion control applications as well, and in this case I want to know the feasibility and experiment with it, - I have not that much time and life is short. Anyway, I've found the GNAT doc and the sources. http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/index.html#Top And interesting chapter: http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Specifying-a-Run_002dTime-Librar= y.html#Specifying-a-Run_002dTime-Library The sources seem to contain already some Xenomai stuff like : - s-osinte-linux-xenomai.ads -- This is a GNU/Linux (Xenomai) version of this package -- This package encapsulates all direct interfaces to OS services -- that are needed by the tasking run-time (libgnarl). package System.OS_Interface is... - s-osprim-linux-xenomai.adb package body System.OS_Primitives is... - s-taprop-linux-xenomai.adb package body System.Task_Primitives.Operations is... - s-taspri-linux-xenomai.ads package System.Task_Primitives is... But it seems not finished and I find no instructions or indications in the makefiles. :-( BR St=E9phane