comp.lang.ada
 help / color / mirror / Atom feed
From: "Björn Lundin" <b.f.lundin@gmail.com>
Subject: Re: Any missing e-mail, social groups, etc?
Date: Sun, 30 Nov 2014 12:11:58 +0100
Date: 2014-11-30T12:11:58+01:00	[thread overview]
Message-ID: <m5etun$lc3$1@dont-email.me> (raw)
In-Reply-To: <ec59pyqtj2ys.12sqgght7rwcm.dlg@40tude.net>

On 2014-11-30 11:13, Dmitry A. Kazakov wrote:
> On Thu, 27 Nov 2014 16:55:27 +0100, Björn Lundin wrote:
> 
>> ... but I wrote a bridge between OPC and our system, also
>> all Ada - a windows service coupled with opcda.dll via gnatcom.
> 
> Great. Which one OPC was it?


It was developed using Matrikon's OPC simulation
But at Netto, Siemens is used (I think it's called
OPCS RSLinx OPC Server)

And at another site - a papermill - we used Allan Bradley.
That one is though replaced by proprietary socket protocol,
because of less complexity.

It is also tested with ABB's opc-server, 10 years ago.

> I gather you did an OPC client. 

Yes, as a socket-server windows service.
I listens for incoming subscription requests,
keeps the sender in a list, and when a signal changes,
the subscriber is notified via a simple but proprietary text-based
protocol, that I wrote.
Of course, the subscriber may write values to the ops-server to.


client 1 <- sockets -> win-service <--> opc-da <--> opc-server <---> plc
                     |
client 2 <- sockets -|
..                   |
                     |
client n <- sockets -|


There are 2 socket connections for each client.
1 - for control, sending sbuscriptions, write commands etc
2 - for receiving new values from plc



>Do you plan to publish a reusable version
> for Ada community?

This was in 2003. I used Ted Dennison's Windows service package (for
SETI), AWS 1.2, AdaSockets 0.16 and of course code of my own.
But to release it, I need a go from my manager.
And looking at it, it will need some freshing up.

However, if there is interest, I can write/publish a simpler
client, still using the same technique,
but skip the part with publish/subscribe/sockets/win-service

client 1 <--> opc-da <--> opc-server <---> plc


AWS is used only as a debug tool, Ie you can browse to see
which the subscribers are, and what they subscribed to.

Netto has about 1600 signals, so the services in cloned int 6 instances
managing about 250 signals each.


> [ I used once a Softing's OPC client, it was a horrible MFC mess. A new OPC
> UA (TCP/IP-based) is even bigger mess. ]
> 

And so is OPC. And the opc-server usually polls the plc.
so it is slower that direct socket.


--
Björn


  reply	other threads:[~2014-11-30 11:11 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26  0:34 Any missing e-mail, social groups, etc? David Botton
2014-11-26  0:40 ` Jeffrey Carter
2014-11-26  1:28   ` David Botton
2014-11-26  3:50     ` Jeffrey Carter
2014-11-26  3:59       ` David Botton
2014-11-26  6:32 ` J-P. Rosen
2014-11-26 15:00   ` David Botton
2014-11-26 15:21     ` David Botton
2014-11-26 15:44       ` J-P. Rosen
2014-11-26 21:05       ` Ludovic Brenta
2014-11-26 21:09         ` David Botton
2014-11-26 21:20         ` J-P. Rosen
2014-11-27  9:44       ` Jacob Sparre Andersen
2014-11-27 11:04         ` Mark Carroll
2014-11-27 14:03           ` Jacob Sparre Andersen
2014-11-27 15:55             ` Björn Lundin
2014-11-30  9:51               ` David Botton
2014-11-30 10:13               ` Dmitry A. Kazakov
2014-11-30 11:11                 ` Björn Lundin [this message]
2014-11-27 14:48         ` David Botton
2014-11-27 10:48       ` Jacob Sparre Andersen
2014-11-27 14:46         ` David Botton
2014-11-27 15:03           ` Jacob Sparre Andersen
2014-11-26 15:29     ` J-P. Rosen
2014-11-26 16:00       ` David Botton
2014-11-26 21:33     ` Randy Brukardt
2014-11-26 17:26 ` Tero Koskinen
2014-11-26 19:54   ` David Botton
replies disabled

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