comp.lang.ada
 help / color / mirror / Atom feed
* Ada / Automation fellows
@ 2015-03-26 10:37 slos
  2015-03-26 15:11 ` Dmitry A. Kazakov
                   ` (3 more replies)
  0 siblings, 4 replies; 26+ messages in thread
From: slos @ 2015-03-26 10:37 UTC (permalink / raw)


Hello,

I am fond of Ada and I am in the automation field, hence my little project "Ada for Automation" :
http://slo-ist.fr/ada4autom

I have recently discovered that it is listed here :
http://www.adaic.org/ada-resources/tools-libraries/

Those are details but I'd prefer the name to be "Ada for Automation" rather than "Ada 4 Automation" and the introduction states that the site is in French, which is true, though I have translated the documentation in English, which could be added :
http://slo-ist.fr/A4A/Documentation/A4A-Book-en.html

Anyway, I am proud to see it listed among those many great projects although I do not know of anybody using and only one trying it...

Feeling alone, I have tried to see if any other fellows were interested in doing automation applications in Ada.

I have only found those guys but I have seen not much on their web site and my message in the contact page got no reply :
http://adaautomation.com/web/

Are they reading this list ?

I have also found this interesting paper :
http://www.ias.uni-stuttgart.de/lehre/praktika/industrialautomation/unterlagen/02-ADA-en.pdf

I have written an email to the author but got no answer also.
Is he reading this list too ?

Anyone working in industrial automation field ?

Best Regards,
Stéphane


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 10:37 Ada / Automation fellows slos
@ 2015-03-26 15:11 ` Dmitry A. Kazakov
  2015-03-27 21:19   ` slos
  2015-03-26 21:05 ` Randy Brukardt
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-26 15:11 UTC (permalink / raw)


On Thu, 26 Mar 2015 03:37:40 -0700 (PDT), slos wrote:

> Feeling alone, I have tried to see if any other fellows were interested in
> doing automation applications in Ada.
>
> I have only found those guys but I have seen not much on their web site
> and my message in the contact page got no reply :
> http://adaautomation.com/web/
> 
> Are they reading this list ?

Not much is there.

> I have also found this interesting paper :
> http://www.ias.uni-stuttgart.de/lehre/praktika/industrialautomation/unterlagen/02-ADA-en.pdf

This is close to what we do, however, our projects are much larger and have
much more different hardware involved.

For a PLC, real-time control is not such a big problem as communication
with the outer world while keeping real-time.

As for GTK, you might find with useful for designing HMI and SCADA:

http://www.dmitry-kazakov.de/ada/aicwl.htm

> Anyone working in industrial automation field ?

I do. We have a middleware written in Ada for dealing with various hardware
under real-time constraints, e.g. EtherCAT, CAN, XCP, iTOT, GPIO etc.
Application is mostly in automotive and energy. Some are embedded some are
not.
 
-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 10:37 Ada / Automation fellows slos
  2015-03-26 15:11 ` Dmitry A. Kazakov
@ 2015-03-26 21:05 ` Randy Brukardt
  2015-03-27 21:46   ` slos
  2015-03-27 15:34 ` Björn Lundin
  2015-03-30 21:57 ` lgrphotography84
  3 siblings, 1 reply; 26+ messages in thread
From: Randy Brukardt @ 2015-03-26 21:05 UTC (permalink / raw)


"slos" <new.stephane.los@gmail.com> wrote in message 
news:00d45b3c-0cde-4208-88a9-c79ec8100408@googlegroups.com...
>I have recently discovered that it is listed here :
>http://www.adaic.org/ada-resources/tools-libraries/

It's magic! :-)

>Those are details but I'd prefer the name to be "Ada for Automation" rather
>than "Ada 4 Automation"

Fixed. You could of course have e-mailed our webmaster address, which is a 
more surefire way to get things done.

> and the introduction states that the site is in French, which is true, 
> though
> I have translated the documentation in English, which could be added :
> http://slo-ist.fr/A4A/Documentation/A4A-Book-en.html

I don't see any link to it on the home page (at least I couldn't find it). I 
try to look at these sites like some curious soul clicking on the link for 
the first time. An English speaker won't find much on the page of interest, 
so if it's there, it needs to be highlighted better. I think most people 
will either drop in from a search engine, or try to find what they want from 
the home page, so it pays to make your home page as accessible as possible. 
(An alternate page in English is probably best, but obviously that's a lot 
of work.)

Anyway, so far as I can tell, the site IS in French, and the English 
language pages are so well-hidden as to be invisible. Drop us a line at 
news@adaic.com or webmaster@adaic.com once you've figured out some way to 
make the English-language content more visible, I can change that note then. 
(Careful about putting something into the blogroll - it'll scroll off 
frequently.)

                                               Randy.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 10:37 Ada / Automation fellows slos
  2015-03-26 15:11 ` Dmitry A. Kazakov
  2015-03-26 21:05 ` Randy Brukardt
@ 2015-03-27 15:34 ` Björn Lundin
  2015-03-27 21:59   ` slos
  2015-03-30 21:57 ` lgrphotography84
  3 siblings, 1 reply; 26+ messages in thread
From: Björn Lundin @ 2015-03-27 15:34 UTC (permalink / raw)


On 2015-03-26 11:37, slos wrote:

> 
> Anyone working in industrial automation field ?


Yes but on a higher level. That is we often talk to
PLC:s or other devices, but we do not program them.

And communication is usually via sockets.
Rs232 if really old devices, but no modbus/profibus/ethercat/whatever


--
Björn


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 15:11 ` Dmitry A. Kazakov
@ 2015-03-27 21:19   ` slos
  2015-03-28  9:05     ` Dmitry A. Kazakov
  0 siblings, 1 reply; 26+ messages in thread
From: slos @ 2015-03-27 21:19 UTC (permalink / raw)


Le jeudi 26 mars 2015 16:11:15 UTC+1, Dmitry A. Kazakov a écrit :
> On Thu, 26 Mar 2015 03:37:40 -0700 (PDT), slos wrote:
> 
> > Feeling alone, I have tried to see if any other fellows were interested in
> > doing automation applications in Ada.
> >
> > I have only found those guys but I have seen not much on their web site
> > and my message in the contact page got no reply :
> > http://adaautomation.com/web/
> > 
> > Are they reading this list ?
> 
> Not much is there.
> 
> > I have also found this interesting paper :
> > http://www.ias.uni-stuttgart.de/lehre/praktika/industrialautomation/unterlagen/02-ADA-en.pdf
> 
> This is close to what we do, however, our projects are much larger and have
> much more different hardware involved.
> 
> For a PLC, real-time control is not such a big problem as communication
> with the outer world while keeping real-time.
> 
> As for GTK, you might find with useful for designing HMI and SCADA:
> 
> http://www.dmitry-kazakov.de/ada/aicwl.htm
> 
> > Anyone working in industrial automation field ?
> 
> I do. We have a middleware written in Ada for dealing with various hardware
> under real-time constraints, e.g. EtherCAT, CAN, XCP, iTOT, GPIO etc.
> Application is mostly in automotive and energy. Some are embedded some are
> not.
>  
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Hello Dmitry,

We have already discussed about industrial communication. You dislike communication boards and so there is no more to say about this. ;-)

For having fiddled around your web site and CV, I believe you that the systems you create in Ada are bigger than the average ones that "Ada for Automation" wishes to address.

Of course I have had a try at AICWL which is great software to learn how to draw with Cairo and GTK+ but I can't imagine someone creating dozens of synoptics this way. For dashboards, that's really cool.

In some of our products we use this technology :
http://www.atvise.com/en/

It's HTML, SVG, JavaScript... and I was impressed by the achievement.
And so I was looking for some free alternative and found MBLogic which uses same web technologies and Python for the logic and web server :
http://mblogic.sourceforge.net/index.html

I was wondering how to put this on top of AWS and learning how to draw with Inkscape when Mister Botton came with Gnoga, pushing my wheel further...
Gnoga seems to fit perfectly in my project and I guess we can use AICWL when high refresh rate is required for example. I still need to figure out how to connect easily the GUI, SVG and the logic.

Thanks for Simple Components, AICWL and the other cool stuff you have created and offered to the world.

BR,
Stéphane
http://slo-ist.fr/ada4autom



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 21:05 ` Randy Brukardt
@ 2015-03-27 21:46   ` slos
  0 siblings, 0 replies; 26+ messages in thread
From: slos @ 2015-03-27 21:46 UTC (permalink / raw)


Le jeudi 26 mars 2015 22:05:34 UTC+1, Randy Brukardt a écrit :
> "slos" wrote:
> >I have recently discovered that it is listed here :
> >http://www.adaic.org/ada-resources/tools-libraries/
> 
> It's magic! :-)
> 
> >Those are details but I'd prefer the name to be "Ada for Automation" rather
> >than "Ada 4 Automation"
> 
> Fixed. You could of course have e-mailed our webmaster address, which is a 
> more surefire way to get things done.
> 
> > and the introduction states that the site is in French, which is true, 
> > though
> > I have translated the documentation in English, which could be added :
> > http://slo-ist.fr/A4A/Documentation/A4A-Book-en.html
> 
> I don't see any link to it on the home page (at least I couldn't find it). I 
> try to look at these sites like some curious soul clicking on the link for 
> the first time. An English speaker won't find much on the page of interest, 
> so if it's there, it needs to be highlighted better. I think most people 
> will either drop in from a search engine, or try to find what they want from 
> the home page, so it pays to make your home page as accessible as possible. 
> (An alternate page in English is probably best, but obviously that's a lot 
> of work.)
> 
> Anyway, so far as I can tell, the site IS in French, and the English 
> language pages are so well-hidden as to be invisible. Drop us a line at 
>  once you've figured out some way to 
> make the English-language content more visible, I can change that note then. 
> (Careful about putting something into the blogroll - it'll scroll off 
> frequently.)
> 
>                                                Randy.

Hello Randy,

Thanks for the magic !

Well, the site is in French for sure... But the menu "Ada for Automation" holds an item "Documentation" that reads both in French and English and brings one a page which is in both languages. Anyway, I should create an English landing page. May be there is a multilingual option in WordPress or I should consider a Gnoga instance...

BR,
Stéphane
http://slo-ist.fr/ada4autom

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-27 15:34 ` Björn Lundin
@ 2015-03-27 21:59   ` slos
  2015-03-28  9:20     ` Dmitry A. Kazakov
  2015-03-28 11:43     ` Björn Lundin
  0 siblings, 2 replies; 26+ messages in thread
From: slos @ 2015-03-27 21:59 UTC (permalink / raw)


Le vendredi 27 mars 2015 16:34:03 UTC+1, björn lundin a écrit :
> On 2015-03-26 11:37, slos wrote:
> 
> > 
> > Anyone working in industrial automation field ?
> 
> 
> Yes but on a higher level. That is we often talk to
> PLC:s or other devices, but we do not program them.
> 
> And communication is usually via sockets.
> Rs232 if really old devices, but no modbus/profibus/ethercat/whatever
> 
> 
> --
> Björn
Hello Björn,

In another thread you said that you would be interested to give a try at "Ada for Automation" on a Raspberry Pi. Have you ?

In my memory you are working in this field :
http://en.wikipedia.org/wiki/Automated_storage_and_retrieval_system

And it is in my humble opinion where "Ada for Automation" would perfectly fit since there is motion control, DB management, GUI...

As you already know Ada, you are more than likely able to tackle the automation tasks.

I can help !

BR,
Stéphane
http://slo-ist.fr/ada4autom


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-27 21:19   ` slos
@ 2015-03-28  9:05     ` Dmitry A. Kazakov
  2015-03-28 22:36       ` slos
  2015-03-29  2:06       ` David Botton
  0 siblings, 2 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-28  9:05 UTC (permalink / raw)


On Fri, 27 Mar 2015 14:19:14 -0700 (PDT), slos wrote:

> For having fiddled around your web site and CV, I believe you that the
> systems you create in Ada are bigger than the average ones that "Ada for
> Automation" wishes to address.

It is my private site, not much related to automation actually. The firm's
site is this:

http://cbb.de/home

And the systems vary from ARM SBC to large plant automation systems.

> In some of our products we use this technology :
> http://www.atvise.com/en/

Interesting. We design SCADA more or less anew each time. Customer's
requirements vary too greatly. Quite often a corporate look and feel is
mandated etc.

We have an OPC UA server, as well, but rather as nice-to-have if somebody
asks. The DDL is not OPC UA, it has the architecture of a software bus,
push, no dedicated servers or gateways.

> It's HTML, SVG, JavaScript... and I was impressed by the achievement.

I am not a fan of Web-based automation systems. It does not feel good. It
does not properly separate control and UI, which is a big step back to me.

Freshly introduced WebSockets is just acknowledge of superiority of the
communication architectures we have been using for decades before HTTP ever
existed. Now I'm wondering how it would be for somebody to implement
something as nasty as OPC UA stack on top of WebSockets in JavaScript at
the client side... (:-))

Maybe Gnoga can change that, some day. I don't know.

> And so I was looking for some free alternative and found MBLogic which
> uses same web technologies and Python for the logic and web server :
> http://mblogic.sourceforge.net/index.html

From my experience the visual design of the UI is such a minor thing for an
automation system developing, that it does not really matter what kind of
GUI library you would use. We did it in almost all frameworks LabWindows,
DiaDem, Win32 GDI, C#, Web and so on. All GUI frameworks are designed alike
(and wrong from the automation and real-time control POV). So the problems,
solutions, workarounds are basically same. But it is probably less than 1%
of what should be done for a medium-sized automation system anyway.

> I was wondering how to put this on top of AWS and learning how to draw
> with Inkscape when Mister Botton came with Gnoga, pushing my wheel
> further...
> Gnoga seems to fit perfectly in my project and I guess we can use AICWL
> when high refresh rate is required for example. I still need to figure out
> how to connect easily the GUI, SVG and the logic.

Cairo fully supports SVG surfaces (AICWL is based on Cairo). AFAIK, David
planned to experiment with this in Gnoga...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-27 21:59   ` slos
@ 2015-03-28  9:20     ` Dmitry A. Kazakov
  2015-03-28 11:52       ` Simon Wright
                         ` (2 more replies)
  2015-03-28 11:43     ` Björn Lundin
  1 sibling, 3 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-28  9:20 UTC (permalink / raw)


On Fri, 27 Mar 2015 14:59:24 -0700 (PDT), slos wrote:

> In another thread you said that you would be interested to give a try at
> "Ada for Automation" on a Raspberry Pi. Have you ?

A short question. How do you access GPIO on Raspberry Pi? Over the text
file devices?

We access GPIO, analogue inputs and PWM output through text files. It looks
crazy to me. Is there a better way?

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-27 21:59   ` slos
  2015-03-28  9:20     ` Dmitry A. Kazakov
@ 2015-03-28 11:43     ` Björn Lundin
  2015-03-28 22:47       ` slos
  1 sibling, 1 reply; 26+ messages in thread
From: Björn Lundin @ 2015-03-28 11:43 UTC (permalink / raw)


On 2015-03-27 22:59, slos wrote:
> Le vendredi 27 mars 2015 16:34:03 UTC+1, björn lundin a écrit :

> 
> In another thread you said that you would be interested to give a try at "Ada for Automation" 
>on a Raspberry Pi. Have you ?

No - I'm sorry - to much of life takes time ...

> In my memory you are working in this field :
> http://en.wikipedia.org/wiki/Automated_storage_and_retrieval_system
> And it is in my humble opinion where "Ada for Automation" would perfectly 
>fit since there is motion control, DB management, GUI...

I do work in that field - almost.
However we do not write the on-board software of the cranes/conveyor/agv
systems anymore. That business was taken over by the hardware vendors 20
years ago.
We tell them what to do instead.
 - pickup a pallet at location 123, put it at 345 and tell us when you
are done by reporting it as assignment 456

So we are more of a transport organizer/super-wiser than the actual doer.

Like a manager with some employees.
We also tell the truck driver where to pickup and deposit - or pick

Now - depending of the vendor/age of device the actual telegrams may
look as above - telegram based - or more detailed -
* move to pickup location (123) and report back as asm 456
* pickup a pallet and report back as asm 456
* move to deposit (345) location and report back as asm 456
* deposit the pallet and report back as asm 456


> As you already know Ada, you are more than likely able to tackle the automation tasks. 
> I can help !

Thanks. However the world changes quite fast and the current trend is

* ERP systems like SAP or JD Edwards says they can do the WMS as well
* Hardware vendors like Knapp or Dematic or Vanderlande says they can do
the WCS as well.

Those areas are what we live on and the competition gets worse every
year. Unfortunately I don't see our involvement with lower level of
automation increase - more than communication with goods-to-man
equipment on a socket level - unless we sell hardware too.
Which we do not currently - and never has. So I do not see that coming.

--
Björn


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28  9:20     ` Dmitry A. Kazakov
@ 2015-03-28 11:52       ` Simon Wright
  2015-03-28 14:53         ` Dmitry A. Kazakov
  2015-03-28 12:03       ` Björn Lundin
  2015-03-28 22:05       ` slos
  2 siblings, 1 reply; 26+ messages in thread
From: Simon Wright @ 2015-03-28 11:52 UTC (permalink / raw)


"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:

> A short question. How do you access GPIO on Raspberry Pi? Over the text
> file devices?
>
> We access GPIO, analogue inputs and PWM output through text files. It looks
> crazy to me. Is there a better way?

Is this through the /proc filesystem? It goes against the grain, but it
does hide the gruesomeness of an ioctl-based interface; and not really
further removed from reality than presenting GPIO as a character
device.


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28  9:20     ` Dmitry A. Kazakov
  2015-03-28 11:52       ` Simon Wright
@ 2015-03-28 12:03       ` Björn Lundin
  2015-03-28 14:55         ` Dmitry A. Kazakov
  2015-03-28 22:05       ` slos
  2 siblings, 1 reply; 26+ messages in thread
From: Björn Lundin @ 2015-03-28 12:03 UTC (permalink / raw)


On 2015-03-28 10:20, Dmitry A. Kazakov wrote:
> On Fri, 27 Mar 2015 14:59:24 -0700 (PDT), slos wrote:
> 
>> In another thread you said that you would be interested to give a try at
>> "Ada for Automation" on a Raspberry Pi. Have you ?
> 
> A short question. How do you access GPIO on Raspberry Pi? Over the text
> file devices?
> 
> We access GPIO, analogue inputs and PWM output through text files. It looks
> crazy to me. Is there a better way?
> 

I use the wiring pi (gpio executable)
But then my demands right now is checking if a pin is set or not once
every second.

But if there is a better way, I'd think you can find it in the c-source
and perhaps interface to it. Or get some ideas at least.

http://wiringpi.com/




-- 
--
Björn

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 11:52       ` Simon Wright
@ 2015-03-28 14:53         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-28 14:53 UTC (permalink / raw)


On Sat, 28 Mar 2015 11:52:19 +0000, Simon Wright wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> 
>> A short question. How do you access GPIO on Raspberry Pi? Over the text
>> file devices?
>>
>> We access GPIO, analogue inputs and PWM output through text files. It looks
>> crazy to me. Is there a better way?
> 
> Is this through the /proc filesystem?

Through the device tree /sys/class/gpio/.../value contains '0' + LF + EOF
or '1' + LF + EOF. And needs lseek each time when read again.

> It goes against the grain, but it
> does hide the gruesomeness of an ioctl-based interface; and not really
> further removed from reality than presenting GPIO as a character
> device.

Strangle kind of reality where digital input is character...

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 12:03       ` Björn Lundin
@ 2015-03-28 14:55         ` Dmitry A. Kazakov
  2015-03-29  8:56           ` Björn Lundin
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-28 14:55 UTC (permalink / raw)


On Sat, 28 Mar 2015 13:03:10 +0100, Björn Lundin wrote:

> On 2015-03-28 10:20, Dmitry A. Kazakov wrote:
>> On Fri, 27 Mar 2015 14:59:24 -0700 (PDT), slos wrote:
>> 
>>> In another thread you said that you would be interested to give a try at
>>> "Ada for Automation" on a Raspberry Pi. Have you ?
>> 
>> A short question. How do you access GPIO on Raspberry Pi? Over the text
>> file devices?
>> 
>> We access GPIO, analogue inputs and PWM output through text files. It looks
>> crazy to me. Is there a better way?
> 
> I use the wiring pi (gpio executable)
> But then my demands right now is checking if a pin is set or not once
> every second.
> 
> But if there is a better way, I'd think you can find it in the c-source
> and perhaps interface to it. Or get some ideas at least.
> 
> http://wiringpi.com/

Thanks, I will take a look.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28  9:20     ` Dmitry A. Kazakov
  2015-03-28 11:52       ` Simon Wright
  2015-03-28 12:03       ` Björn Lundin
@ 2015-03-28 22:05       ` slos
  2015-03-29  9:49         ` Dmitry A. Kazakov
  2 siblings, 1 reply; 26+ messages in thread
From: slos @ 2015-03-28 22:05 UTC (permalink / raw)


Le samedi 28 mars 2015 10:20:34 UTC+1, Dmitry A. Kazakov a écrit :
> On Fri, 27 Mar 2015 14:59:24 -0700 (PDT), slos wrote:
> 
> > In another thread you said that you would be interested to give a try at
> > "Ada for Automation" on a Raspberry Pi. Have you ?
> 
> A short question. How do you access GPIO on Raspberry Pi? Over the text
> file devices?
> 
> We access GPIO, analogue inputs and PWM output through text files. It looks
> crazy to me. Is there a better way?
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Hello Dmitry,

I do not do such things since I don't own one but you may be interested in (French blog again, sorry) :
http://www.blaess.fr/christophe/2012/05/21/gpio-pandaboard-et-temps-reel-3-lecture-sur-des-entrees/#more-2221

And may be in this article too :
http://www.blaess.fr/christophe/2013/02/15/raspberry-pi-interruptions-gpio-avec-rtdm/

BR,
Stéphane

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28  9:05     ` Dmitry A. Kazakov
@ 2015-03-28 22:36       ` slos
  2015-03-29  9:30         ` Dmitry A. Kazakov
  2015-03-29  2:06       ` David Botton
  1 sibling, 1 reply; 26+ messages in thread
From: slos @ 2015-03-28 22:36 UTC (permalink / raw)


Le samedi 28 mars 2015 10:05:48 UTC+1, Dmitry A. Kazakov a écrit :
> On Fri, 27 Mar 2015 14:19:14 -0700 (PDT), slos wrote:
> 
> > For having fiddled around your web site and CV, I believe you that the
> > systems you create in Ada are bigger than the average ones that "Ada for
> > Automation" wishes to address.
> 
> It is my private site, not much related to automation actually. The firm's
> site is this:
> 
> http://cbb.de/home
I think I had figured this out of your CV.
> 
> And the systems vary from ARM SBC to large plant automation systems.
> 
> > In some of our products we use this technology :
> > http://www.atvise.com/en/
> 
> Interesting. We design SCADA more or less anew each time. Customer's
> requirements vary too greatly. Quite often a corporate look and feel is
> mandated etc.
In another life I have used several SCADA from the market like PcVue, WinCC or Intouch.
They would do the job often, never needed to redevelop one but your customers may have strange requirements.
> 
> We have an OPC UA server, as well, but rather as nice-to-have if somebody
> asks. The DDL is not OPC UA, it has the architecture of a software bus,
> push, no dedicated servers or gateways.
> 
> > It's HTML, SVG, JavaScript... and I was impressed by the achievement.
> 
> I am not a fan of Web-based automation systems. It does not feel good. It
> does not properly separate control and UI, which is a big step back to me.
Well, I don"t see why you could not separate control and UI with web technologies.
> 
> Freshly introduced WebSockets is just acknowledge of superiority of the
> communication architectures we have been using for decades before HTTP ever
> existed. Now I'm wondering how it would be for somebody to implement
> something as nasty as OPC UA stack on top of WebSockets in JavaScript at
> the client side... (:-))
Some people prefer web based UI and some native applications.
I can understand that both have qualities.
> 
> Maybe Gnoga can change that, some day. I don't know.
> 
> > And so I was looking for some free alternative and found MBLogic which
> > uses same web technologies and Python for the logic and web server :
> > http://mblogic.sourceforge.net/index.html
> 
> From my experience the visual design of the UI is such a minor thing for an
> automation system developing, that it does not really matter what kind of
> GUI library you would use. We did it in almost all frameworks LabWindows,
> DiaDem, Win32 GDI, C#, Web and so on. All GUI frameworks are designed alike
> (and wrong from the automation and real-time control POV). So the problems,
> solutions, workarounds are basically same. But it is probably less than 1%
> of what should be done for a medium-sized automation system anyway.
In normal automation applications, UI is done with those previously mentioned SCADA systems by people who do not have / need computer programming knowledge.
With those tools, they draw and animate symbols quite easily without a single line of code.

> 
> > I was wondering how to put this on top of AWS and learning how to draw
> > with Inkscape when Mister Botton came with Gnoga, pushing my wheel
> > further...
> > Gnoga seems to fit perfectly in my project and I guess we can use AICWL
> > when high refresh rate is required for example. I still need to figure out
> > how to connect easily the GUI, SVG and the logic.
> 
> Cairo fully supports SVG surfaces (AICWL is based on Cairo). AFAIK, David
> planned to experiment with this in Gnoga...
Cairo draws SVG but the interesting part in SVG, apart the vectorized drawing, is that it integrates into the DOM and then by changing some property, for example the class, it can be animated using JavaScript via WebSocket.
Then, designing the UI requires only some art skills with Inkscape.
Symbols can be used to populate synoptics, and with some attributes and CSS3, animated quite simply I think.
I am quite sure that can be achieved with Gnoga even in its current state.

And as David said in some other thread, one can get best of both worlds by combining GTK / CAIRO / AICWL and Gnoga in his application.
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

BR,
Stéphane

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 11:43     ` Björn Lundin
@ 2015-03-28 22:47       ` slos
  2015-03-29  8:57         ` Björn Lundin
  0 siblings, 1 reply; 26+ messages in thread
From: slos @ 2015-03-28 22:47 UTC (permalink / raw)


Le samedi 28 mars 2015 12:43:09 UTC+1, björn lundin a écrit :
> On 2015-03-27 22:59, slos wrote:
> > Le vendredi 27 mars 2015 16:34:03 UTC+1, björn lundin a écrit :
> 
> > 
> > In another thread you said that you would be interested to give a try at "Ada for Automation" 
> >on a Raspberry Pi. Have you ?
> 
> No - I'm sorry - to much of life takes time ...
> 
> > In my memory you are working in this field :
> > http://en.wikipedia.org/wiki/Automated_storage_and_retrieval_system
> > And it is in my humble opinion where "Ada for Automation" would perfectly 
> >fit since there is motion control, DB management, GUI...
> 
> I do work in that field - almost.
> However we do not write the on-board software of the cranes/conveyor/agv
> systems anymore. That business was taken over by the hardware vendors 20
> years ago.
> We tell them what to do instead.
>  - pickup a pallet at location 123, put it at 345 and tell us when you
> are done by reporting it as assignment 456
> 
> So we are more of a transport organizer/super-wiser than the actual doer.
> 
> Like a manager with some employees.
> We also tell the truck driver where to pickup and deposit - or pick
> 
> Now - depending of the vendor/age of device the actual telegrams may
> look as above - telegram based - or more detailed -
> * move to pickup location (123) and report back as asm 456
> * pickup a pallet and report back as asm 456
> * move to deposit (345) location and report back as asm 456
> * deposit the pallet and report back as asm 456
> 
> 
> > As you already know Ada, you are more than likely able to tackle the automation tasks. 
> > I can help !
> 
> Thanks. However the world changes quite fast and the current trend is
> 
> * ERP systems like SAP or JD Edwards says they can do the WMS as well
> * Hardware vendors like Knapp or Dematic or Vanderlande says they can do
> the WCS as well.
> 
> Those areas are what we live on and the competition gets worse every
> year. Unfortunately I don't see our involvement with lower level of
> automation increase - more than communication with goods-to-man
> equipment on a socket level - unless we sell hardware too.
> Which we do not currently - and never has. So I do not see that coming.
> 
> --
> Björn
Hello Björn,

Future does not seem bright for your company. You are caught in between.
Good luck !

BR,
Stéphane

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28  9:05     ` Dmitry A. Kazakov
  2015-03-28 22:36       ` slos
@ 2015-03-29  2:06       ` David Botton
  2015-03-29  9:44         ` Dmitry A. Kazakov
  1 sibling, 1 reply; 26+ messages in thread
From: David Botton @ 2015-03-29  2:06 UTC (permalink / raw)


> > It's HTML, SVG, JavaScript... and I was impressed by the achievement.
> 
> I am not a fan of Web-based automation systems. It does not feel good. It
> does not properly separate control and UI, which is a big step back to me.

With Gnoga there is no issue doing that since the web page is just a "canvas" for the UI, there is no need to wedge in stateless static web page paradigms in to your UI.

> Maybe Gnoga can change that, some day. I don't know.

I'd think already has :)

> > I was wondering how to put this on top of AWS and learning how to draw
> > with Inkscape when Mister Botton came with Gnoga, pushing my wheel
> > further...
> > Gnoga seems to fit perfectly in my project and I guess we can use AICWL
> > when high refresh rate is required for example. I still need to figure out
> > how to connect easily the GUI, SVG and the logic.

You can mix Gtk and Gnoga use libwebkit2gtk widgets (see the native GTK docs in the gnoga distro).

> 
> Cairo fully supports SVG surfaces (AICWL is based on Cairo). AFAIK, David
> planned to experiment with this in Gnoga...

You can use Cairo with Gnoga (the Cairo bindings removing GtkAda deps are available at http://gnoga.com/#market ).

I'll be visiting again AICWL in Gnoga once I have a direct Gnoga -> libwebkit2gtk connection working (i.e. not using websockets, but actual calls directly in to the JavaScript from Ada/C).

David Botton

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 14:55         ` Dmitry A. Kazakov
@ 2015-03-29  8:56           ` Björn Lundin
  2015-03-29  9:52             ` Dmitry A. Kazakov
  0 siblings, 1 reply; 26+ messages in thread
From: Björn Lundin @ 2015-03-29  8:56 UTC (permalink / raw)


On 2015-03-28 15:55, Dmitry A. Kazakov wrote:

>>>
>>> A short question. How do you access GPIO on Raspberry Pi? Over the text
>>> file devices?
>>>
>>> We access GPIO, analogue inputs and PWM output through text files. It looks
>>> crazy to me. Is there a better way?


I forgot to mention 'Mastering the Raspberry Pi'
by Warren Gay.
http://www.apress.com/9781484201824

He describes the Pi in *great* detail.
And there is a chapter (12) on GPIO where he explores

* GPIO via sysfs
* GPIO events/interupts. Also via sysfs - get a notification/callback
when an IO-port changes state

and
* GPIO via memory mapped file


a short c-module to map the GPIO part of memory and then
* set_bit
* get_bit

functions to manipulate the IO-ports without sysfs



--
Björn


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 22:47       ` slos
@ 2015-03-29  8:57         ` Björn Lundin
  0 siblings, 0 replies; 26+ messages in thread
From: Björn Lundin @ 2015-03-29  8:57 UTC (permalink / raw)


On 2015-03-28 23:47, slos wrote:
> 
> Future does not seem bright for your company. You are caught in between.
> Good luck !

Well, we are a bit squashed - but far from dead.


--
Björn

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 22:36       ` slos
@ 2015-03-29  9:30         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-29  9:30 UTC (permalink / raw)


On Sat, 28 Mar 2015 15:36:07 -0700 (PDT), slos wrote:

> Le samedi 28 mars 2015 10:05:48 UTC+1, Dmitry A. Kazakov a écrit :

>> Interesting. We design SCADA more or less anew each time. Customer's
>> requirements vary too greatly. Quite often a corporate look and feel is
>> mandated etc.
> In another life I have used several SCADA from the market like PcVue, WinCC or Intouch.
> They would do the job often, never needed to redevelop one but your
> customers may have strange requirements.

Nothing strange. Customers are always focused on what is visible, the GUI
(and take everything else for granted). They are never satisfied with the
behavior of standard widgets. It is always, OK, but when cursor hovers,
that should do this, page-scroll must do that etc.

>>> It's HTML, SVG, JavaScript... and I was impressed by the achievement.
>> 
>> I am not a fan of Web-based automation systems. It does not feel good. It
>> does not properly separate control and UI, which is a big step back to me.
> Well, I don"t see why you could not separate control and UI with web technologies.

Because if you honestly do it in Web, your real-time controller must run a
HTTP server. This kind of architecture is not scalable at least.

Normally there are more nodes than a controller and the UI host. There are
more than one UI host, with different roles.

You have to distribute data between the nodes. Since you cannot do it with
HTTP, you will have some DDL, e.g. OPC UA, if you are out of luck. This
needs to be installed on the UI host in order to get at the data. So it is
no more "anything anywhere". If you can install DDL on the UI host, you can
also install a decent GUI library.

>> Freshly introduced WebSockets is just acknowledge of superiority of the
>> communication architectures we have been using for decades before HTTP ever
>> existed. Now I'm wondering how it would be for somebody to implement
>> something as nasty as OPC UA stack on top of WebSockets in JavaScript at
>> the client side... (:-))

> Some people prefer web based UI and some native applications.

There are no technical merits to have Web-based UI. It only complicates
design and, immensely, maintenance. I think that people advocating it have
throw-away UI in mind. This is not the case for most commercial automation
systems.

>> Maybe Gnoga can change that, some day. I don't know.
>> 
>>> And so I was looking for some free alternative and found MBLogic which
>>> uses same web technologies and Python for the logic and web server :
>>> http://mblogic.sourceforge.net/index.html
>> 
>> From my experience the visual design of the UI is such a minor thing for an
>> automation system developing, that it does not really matter what kind of
>> GUI library you would use. We did it in almost all frameworks LabWindows,
>> DiaDem, Win32 GDI, C#, Web and so on. All GUI frameworks are designed alike
>> (and wrong from the automation and real-time control POV). So the problems,
>> solutions, workarounds are basically same. But it is probably less than 1%
>> of what should be done for a medium-sized automation system anyway.
> In normal automation applications, UI is done with those previously
> mentioned SCADA systems by people who do not have / need computer
> programming knowledge.

But they cannot do this! It is far more complex than throwing together some
widgets connecting them to some data. It is absolutely unrealistic for a
customer to do, even for one with programming background.

It is true that customers ask for UI being programmable, but NONE of them
change the UI in the end. And it is not only programming knowledge
required. The end customer is an operator. He does not know how the system
functions. Nor programmers know it in details. Designing and setting up an
automation system requires expert knowledge of the process under control
and of the measurement subsystems. This is the third party involved in the
process.

If you have a dynamometer with 10K Euro per hour running costs, you would
not try to change anything.

> With those tools, they draw and animate symbols quite easily without a
> single line of code.

There is an immensely complex control logic behind some of these symbols.
They have meaning, this meaning is 99% of what an automation system does.
Animated UI is less than 1%.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-29  2:06       ` David Botton
@ 2015-03-29  9:44         ` Dmitry A. Kazakov
  2015-03-29 14:37           ` David Botton
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-29  9:44 UTC (permalink / raw)


On Sat, 28 Mar 2015 19:06:51 -0700 (PDT), David Botton wrote:

>>> It's HTML, SVG, JavaScript... and I was impressed by the achievement.
>> 
>> I am not a fan of Web-based automation systems. It does not feel good. It
>> does not properly separate control and UI, which is a big step back to me.
> 
> With Gnoga there is no issue doing that since the web page is just a
> "canvas" for the UI, there is no need to wedge in stateless static web
> page paradigms in to your UI.

Even if it hosting only, it is still problematic, IMO. I tried to explain
it in this thread.

>> Cairo fully supports SVG surfaces (AICWL is based on Cairo). AFAIK, David
>> planned to experiment with this in Gnoga...
> 
> You can use Cairo with Gnoga (the Cairo bindings removing GtkAda deps are
> available at http://gnoga.com/#market ).

How do you work around widgets, which come from GTK, normally.
 
> I'll be visiting again AICWL in Gnoga once I have a direct Gnoga ->
> libwebkit2gtk connection working (i.e. not using websockets, but actual
> calls directly in to the JavaScript from Ada/C).

I must admit I don't understand how it works. The MVC issues especially
with the model, view and controller distributed between the Web server and
client. In AICWL, as in GTK, all models are GObject descendants, if you
throw GTK away, it won't work. And how to make a GObject model be present
on both sides? E.g. oscilloscope, you push data on one side and pull them
on another.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-28 22:05       ` slos
@ 2015-03-29  9:49         ` Dmitry A. Kazakov
  0 siblings, 0 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-29  9:49 UTC (permalink / raw)


On Sat, 28 Mar 2015 15:05:47 -0700 (PDT), slos wrote:

> I do not do such things since I don't own one but you may be interested in
> (French blog again, sorry) :
[...]

Yes, this is how we do it right now (device-tree). 

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-29  8:56           ` Björn Lundin
@ 2015-03-29  9:52             ` Dmitry A. Kazakov
  0 siblings, 0 replies; 26+ messages in thread
From: Dmitry A. Kazakov @ 2015-03-29  9:52 UTC (permalink / raw)


On Sun, 29 Mar 2015 10:56:07 +0200, Björn Lundin wrote:

> On 2015-03-28 15:55, Dmitry A. Kazakov wrote:
> 
>>>>
>>>> A short question. How do you access GPIO on Raspberry Pi? Over the text
>>>> file devices?
>>>>
>>>> We access GPIO, analogue inputs and PWM output through text files. It looks
>>>> crazy to me. Is there a better way?
> 
> I forgot to mention 'Mastering the Raspberry Pi'
> by Warren Gay.
> http://www.apress.com/9781484201824
> 
> He describes the Pi in *great* detail.
> And there is a chapter (12) on GPIO where he explores
> 
> * GPIO via sysfs
> * GPIO events/interupts. Also via sysfs - get a notification/callback
> when an IO-port changes state
> 
> and
> * GPIO via memory mapped file
> 
> 
> a short c-module to map the GPIO part of memory and then
> * set_bit
> * get_bit
> 
> functions to manipulate the IO-ports without sysfs

Thanks. We considered most of this, I believe, and decided for device tree.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-29  9:44         ` Dmitry A. Kazakov
@ 2015-03-29 14:37           ` David Botton
  0 siblings, 0 replies; 26+ messages in thread
From: David Botton @ 2015-03-29 14:37 UTC (permalink / raw)


> How do you work around widgets, which come from GTK, normally.

You place webkit2gtk widgets where you want Gnoga elements to be. You app can mix GtkAda and Gnoga libraries. In that case you won't need the Cairo bindings since already have them with GtkAda.

David Botton

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: Ada / Automation fellows
  2015-03-26 10:37 Ada / Automation fellows slos
                   ` (2 preceding siblings ...)
  2015-03-27 15:34 ` Björn Lundin
@ 2015-03-30 21:57 ` lgrphotography84
  3 siblings, 0 replies; 26+ messages in thread
From: lgrphotography84 @ 2015-03-30 21:57 UTC (permalink / raw)


On Thursday, March 26, 2015 at 11:37:55 AM UTC+1, slos wrote:
> Hello,
> 
> I am fond of Ada and I am in the automation field, hence my little project "Ada for Automation" :
> http://slo-ist.fr/ada4autom
> 
> I have recently discovered that it is listed here :
> http://www.adaic.org/ada-resources/tools-libraries/
> 
> Those are details but I'd prefer the name to be "Ada for Automation" rather than "Ada 4 Automation" and the introduction states that the site is in French, which is true, though I have translated the documentation in English, which could be added :
> http://slo-ist.fr/A4A/Documentation/A4A-Book-en.html
> 
> Anyway, I am proud to see it listed among those many great projects although I do not know of anybody using and only one trying it...
> 
> Feeling alone, I have tried to see if any other fellows were interested in doing automation applications in Ada.
> 
> I have only found those guys but I have seen not much on their web site and my message in the contact page got no reply :
> http://adaautomation.com/web/
> 
> Are they reading this list ?
> 
> I have also found this interesting paper :
> http://www.ias.uni-stuttgart.de/lehre/praktika/industrialautomation/unterlagen/02-ADA-en.pdf
> 
> I have written an email to the author but got no answer also.
> Is he reading this list too ?
> 
> Anyone working in industrial automation field ?
> 
> Best Regards,
> Stéphane

Hi - your email made me go back in time, i was an Ada programme manager in the EC in the 80's when we tried to keep the industry going to compete with the might of the DoD and its public procurement demands... We had quite a few projects in automation and real time - SDL, GEC, Siemens, NPL were names I recall involved. There was a CUP book series @Ada Companion" series with some parts devoted to this. However, I have not come across anyone in the past 10 years really using Ada for run time environments, maybe for formal methods or programme verification ... a guy called John Nissen in UK maybe able to help you. Try and track him down, London I think. 
Mike, Brussels


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2015-03-30 21:57 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-26 10:37 Ada / Automation fellows slos
2015-03-26 15:11 ` Dmitry A. Kazakov
2015-03-27 21:19   ` slos
2015-03-28  9:05     ` Dmitry A. Kazakov
2015-03-28 22:36       ` slos
2015-03-29  9:30         ` Dmitry A. Kazakov
2015-03-29  2:06       ` David Botton
2015-03-29  9:44         ` Dmitry A. Kazakov
2015-03-29 14:37           ` David Botton
2015-03-26 21:05 ` Randy Brukardt
2015-03-27 21:46   ` slos
2015-03-27 15:34 ` Björn Lundin
2015-03-27 21:59   ` slos
2015-03-28  9:20     ` Dmitry A. Kazakov
2015-03-28 11:52       ` Simon Wright
2015-03-28 14:53         ` Dmitry A. Kazakov
2015-03-28 12:03       ` Björn Lundin
2015-03-28 14:55         ` Dmitry A. Kazakov
2015-03-29  8:56           ` Björn Lundin
2015-03-29  9:52             ` Dmitry A. Kazakov
2015-03-28 22:05       ` slos
2015-03-29  9:49         ` Dmitry A. Kazakov
2015-03-28 11:43     ` Björn Lundin
2015-03-28 22:47       ` slos
2015-03-29  8:57         ` Björn Lundin
2015-03-30 21:57 ` lgrphotography84

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