|
|
Experimental Physics and
| ||||||||||||||
|
|
Hi:
Just noticed something unexpected.
Assume you have a first IOC generating data:
record(calc, "data") { field(SCAN, "1 second") field(CALC, "RNDM") }
With display tools like EDM, CS-Studio, …, no matter if a display shows “data” once or 100 times, the client pools its PVs, so the tool only has a single connection to the IOC, with a single channel for “data”.
When I use a second IOC to read the data, however, there seems to be no such pooling. For example, running this IOC ...
record(ai, "read1") { field(INP, "data") }
record(ai, "read2") { field(INP, "data") }
record(ai, "read3") { field(INP, "data") }
.. will create the channel “data” three times.
On the first IOC, the server report shows one connection and then the same PV name in 3 channels
epics> casr 10 Channel Access Server V4.13 1 client connected: TCP client at 10.159…. … 3 Channels … Channel: ‘data' field_type=DBF_DOUBLE (8 bytes), dbr_type=DBF_DOUBLE, 1 element, no filters # on eventq=1, access=rw Channel: 'data' field_type=DBF_DOUBLE (8 bytes), dbr_type=DBF_DOUBLE, 1 element, no filters # on eventq=1, access=rw Channel: 'data' field_type=DBF_DOUBLE (8 bytes), dbr_type=DBF_DOUBLE, 1 element, no filters # on eventq=1, access=rw
We noticed this when checking network traffic for an IOC that monitors waveforms in a similar arrangement.
Note that the reading records don’t even need to be processed.
Each INP link creates a channel, a CA monitor is created, the same waveform data is sent multiple times.
As a workaround, you may update your database to insert a ‘mirror’ record like this:
record(ai, "mirror") { field(INP, "data") }
record(ai, "read1") { field(INP, "mirror") }
record(ai, "read2") { field(INP, "mirror") }
record(ai, "read3") { field(INP, "mirror") }
Now, the first IOC will show only one channel for “data”.
I assume the IOC always behaved this way, and adding a PV pool would be a major change.
-Kay
| ||||||||||||||
| ANJ, 19 Mar 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |