|
Hi Everyone,
During our recent work on a machine-learning interface based on NTTable-type PVs, we noticed that several commonly expected fields—such as
descriptor, alarm (status/severity), and timeStamp—are defined as optional and are often not implemented for NTTable. While this behavior is fully compliant with the EPICS NT specifications, it raised some broader questions
for us regarding the design philosophy of EPICS 7 NT types, particularly in the context of migration from EPICS3 / Channel Access.
We would appreciate clarification and guidance from the community on the following topics.
1. Optional fields in EPICS 7 NT types
In EPICS3, records share a common set of fields (e.g., alarm status/severity, timestamp, description), which are always present regardless of whether a specific application strictly requires them.
In contrast, EPICS 7 NT types define many of these fields as optional, and producers are not required to implement them.
-
What design considerations led to this change?
-
What are the intended advantages and trade-offs of making these fields optional?
-
Are there recommended best practices for when producers should include fields such as
alarm and timeStamp, especially for higher-level consumers such as ML pipelines, archivers, or monitoring tools?
2. Linking and processing chains across PVs
In EPICS3, CA links / database links allow PVs to reference each other, enabling processing chains both within an IOC and across IOCs.
For EPICS 7 NT-type PVs, we do not see an equivalent built-in mechanism that directly supports PV-to-PV linking and chained processing.
-
Is this understanding correct?
-
If so, what is the intended replacement pattern in EPICS 7 (e.g., client-side aggregation, services, or higher-level applications)?
-
Are there recommended architectural approaches for reproducing EPICS3-style processing chains in a PVAccess-based system?
3. Migration from Channel Access to PVAccess
As sites begin migrating from CA to PVAccess:
-
How should existing CA/CP/CPP links across IOCs be handled?
-
What is the recommended strategy for operating and integrating EPICS3 PVs alongside EPICS 7 NT-type PVs during a transition period?
-
Are there established patterns or tooling to support hybrid CA + PVAccess deployments without duplicating logic?
We are primarily interested in understanding the long-term architectural direction and recommended practices, rather than short-term workarounds. Any insights, references, or experiences from the community would be greatly appreciated.
Cheers,
Ernest
|