Hello Ralph.
If I define the EPICS_BASE = /path/to/my/EPICS/Base/install inside the configure/RELEASE file of the EPICS Module, and I compile with 'make', I obtain a binary file inside bin/linux-x86_64/
However, I have found that the binaries that I obtain with the compilation of RecCaster and the OPC UA Module work only with Channel Access and not pvAccess. That's why I'm trying to "compile" or "use" in some way the "softIocPVA" binary. What should I have to do to in order to use pvAccess in that case?
Also, I still don't know how to run at the same time two or more modules, for example, the RecCaster and the OPC UA module with the same PV like 'temperature:water'. In summary, what I want to do is to use at the same time the ChannelFinder service and the OPC UA Device Support for the same PVs (from an IOC db). Additionally better if we can use PVA.
Sorry for being so annoying, I'm having big issues understanding how the EPICS Support Modules are used.
Thanks Eusebio.
---
Saludos/Best regards
University of Granada
Eusebio Naif Al-Soliman Fuentes MSc. Data Science and Computer Engineering
eunaif at correo.ugr.es
El 2023-12-20 10:12, Ralph Lange escribió:
Hi Eusebio,
On Wed, 20 Dec 2023 at 08:53, Eusebio Naif Al-Soliman Fuentes < eunaif at correo.ugr.es> wrote:
In that case, I understand that I have to use the binaries of the EPICS Support Module instead of the ones from EPICS Base.
I'm not sure I understand what you mean.
If you are referring to the OPC UA Device Support, you can use the binary distribution if you don't want to or can't compile the low-level client library. When you use the binary distribution, you don't need to download/compile the Device Support module nor the low-level client library, as both are part of the binary distribution.
However, what happens if I want to use, with the same PVs, EPICS Base and
the EPICS Support Module? Or, for instance, two different EPICS Modules with the same PVs?
That question does not really make sense.
EPICS Base contains some libraries and configuration files. Additional EPICS support modules contain more libraries and configuration files. To create an IOC that uses things from support modules, you need both EPICS Base and the support modules. The IOC binary needs to be linked against the libraries from the support modules and EPICS Base. Configuration files from the support modules and EPICS Base are used to create the configuration files for the IOC.
EPICS relies on PV names to be unique in the system. Running multiple IOCs with the same PVs is an error. Clients will connect to one or another quasi-randomly and spit out error messages.
I've to use a RELEASE.local file, but what do I have to write on it and in
which location should reside in order to use EPICS Base and the modules together?
Any EPICS build (when you run "make" inside an EPICS module) will look for RELEASE.local files in different places, including in the directory above its TOP and inside the TOP/configure directory. If you don't want to repeat the configuration inside every support module, putting a single file one level above the modules is read by all of them.
RELEASE and RELEASE.local files contain (that's documented) the locations of all support modules as multiple lines of the form MODULE_NAME = /absolute/path/to/the/module with the EPICS_BASE definition usually last.
Cheers, ~Ralph
|