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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.66.90.129 with SMTP id bw1mr3594432pab.2.1415284983813; Thu, 06 Nov 2014 06:43:03 -0800 (PST) X-Received: by 10.140.86.9 with SMTP id o9mr9781qgd.29.1415284983759; Thu, 06 Nov 2014 06:43:03 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!r10no4707242igi.0!news-out.google.com!u5ni26qab.1!nntp.google.com!u7no2872021qaz.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 6 Nov 2014 06:43:03 -0800 (PST) In-Reply-To: <3wgqzq98u7gx$.17hpf52b2gd7l.dlg@40tude.net> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=193.251.73.50; posting-account=O3LyFwoAAACc1uh60ZcOUmAGdDmGsEcV NNTP-Posting-Host: 193.251.73.50 References: <3e877e3f-c9ad-48a5-941d-08a7f5c3f317@googlegroups.com> <3wgqzq98u7gx$.17hpf52b2gd7l.dlg@40tude.net> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <38980827-610e-42fc-a8bf-59a99bbdeee7@googlegroups.com> Subject: Re: Ada for Automation From: slos Injection-Date: Thu, 06 Nov 2014 14:43:03 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:23044 Date: 2014-11-06T06:43:03-08:00 List-Id: Le jeudi 6 novembre 2014 14:31:15 UTC+1, Dmitry A. Kazakov a =E9crit=A0: > On Thu, 6 Nov 2014 03:14:43 -0800 (PST), slos wrote: >=20 > First of all, congratulate and thank for the efforts. Thanks Dmitry. You have been inspirational. >=20 > Don't mind a little bit critique which follows. I am fine with critique, I can stand it and even appreciate it. >=20 > > "Ada for Automation" (A4A in short) is a framework, for designing > > industrial automation applications using the Ada language. It uses the > > libmodbus library to allow building a Modbus TCP client or server, or a > > Modbus RTU master. >=20 > > It can also use Hilscher communication boards allowing > > to communicate on field buses like AS-Interface, CANopen, CC-Link, > > DeviceNet, PROFIBUS, EtherCAT, Ethernet/IP, Modbus TCP, PROFINET, Serco= s > > III, POWERLINK, or VARAN. >=20 > In other words it does not implement the corresponding stacks? E.g. > EtherCAT master. No, as you say later on, "Ada for Automation" being for the moment a one-pe= rson project, I cannot even think about not using what is available or rein= venting the wheel. So it uses libmodbus and Hilscher communication boards. I can even imagine writing a binding for OpenPOWERLINK but it won't be soon= I am afraid. And of course, if someone cares about other solutions, it's an open source = project and I will be glad to include any contribution. >=20 > Regarding communication boards, they are not very useful. Of course, since I am the support guy in France for the Hilscher company, I= cannot let you say such a thing without reaction. Hilscher is on this market since 1986, let's say since the birth of field b= uses, and has been very successful doing that. Hilscher products are used by major players in the automation field and the= ir products are found everywhere from encoders to drives, PLCs to HMIs. > I can guarantee you that the same EtherCAT would be impossible to talk to > using such a board. Well, it happens everyday though. > The protocol requires a very complicated initialization to talk even > with relatively simple slaves. You might be able to connect a simple > analogue I/O terminal, but nothing beyond that. Even TwinCAT, which is > vendor's tool does not support everything. Our EtherCAT master does, almo= st > (:-)). >=20 Yes, that's true. Industrial protocols tend to be more and more complex bec= ause the world is getting more and more complex. > So, my advice would be to implement these stacks natively. That is surprising after reading what you have said just above. > Yes, it is a huge amount of work and you will need community support. Or an Hilscher board. >=20 > Even CANOpen master is many thousands times more complex than ModBus + > support of various CAN controllers under various OSes. I know. >=20 > EtherCAT master is thousands times more complex than CANOpen + raw Ethern= et > drivers needed for Windows. Yes I know. There was once an open source stack but it is not available because one nee= d buying a licence from ETG. When buying an Hilscher board, the stack is running on the board, under Hil= scher's RT OS rcX, and we provide drivers for several OSes and a C Toolkit = as source code for your not supported OS. And of course Hilscher provides the Configuration Tool SYCON.net. >=20 > This is not one-man job. More than two hundred people are working at Hilscher, creating the communic= ation solutions that "Ada for Automation" users would need. Right now, you can start on a PC with any format and down to the embedded m= arket using modules with same API. >=20 > > Thanks to GtkAda it can be built with a GUI. > > It can be built without of course. >=20 > Do you mix data acquisition and distribution middleware with the GUI? No, this is not mixed. Tasks are employed dealing with acquisition, processing, and GUI but they a= re interfaced using protected types. > That > is not a good idea, generally. It is better to keep them separate. Which = is > a serious architectural problem how to communicate between the middleware > dealing with the hardware, providing publisher-subscriber services and > various clients. GUI is only one of them. Inter-process communication, DL= Ls > are all system-dependent. No solution is scalable and portable, meets > real-time requirements. It is a very difficult problem to resolve. > =20 > > It works rather nicely but it would be fantastic if some experienced > > person would review the code and give me some feedback on the design, t= he > > bindings, the code quality... I'm a lonely Ada programmer, and I miss > > feedback. > >=20 > > Of course, I am interested in any collaboration around this matter. > > So, do not hesitate to get in touch when you have some real case. >=20 > We do the same stuff, but it is a commercial product. So I cannot do that > on ethical and contractual grounds, sorry. There are plenty of commercial solutions already available like WinAC, CoDe= Sys, PROCONOS, ISaGRAF... to create automation solutions, none in Ada. I think there is some room left between automation and industrial computing= where the languages used in automation (IEC 61131-3) make it hard to creat= e evolved applications and where the C/C++ languages are not easy to master= for automation engineers. And we know what happens when one does not maste= r the tool he uses. Ada seems to fit perfectly here to me. > =20 > --=20 > Regards, > Dmitry A. Kazakov > http://www.dmitry-kazakov.de Best Regards, St=E9phane http://slo-ist.fr