V4 Functional Specifications

Download Report

Transcript V4 Functional Specifications

V4 – Executive Summary
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Provide online add/delete of I/O to support continuous operation.
Provide redundant control of remote I/O to support improved reliability.
Provide name introspection and domain control in support of seamless integration of
large control systems
Provide triggers, filters, and rate limits to improve resource use of network and client
side processing
Provide atomic read/write of multiple fields in a record
Remove limitations on string lengths, device states, number of input links to support
arbitrary sizes.
Record Library to provide pluggable functionality
Provide hierarchical devices to support higher level view of application in the front-end
processors.
write with read-back
Provide channel access diagnostics
Provide a Channel Access Server to Sequences and their diagnostic information
Revisit Database Library
Alternate protocols
Provide automatic backup and restore to support bump-less reboot and synchronization of
redundant controllers.
Support international users with uni-code and time.
Bold – Must do, italic – would like to do, underline – someone else can do in parallel plain – lower priority/no effort
V4 – Online Add / Delete
•
•
•
•
•
Support hardware address change during operation
Allow new record instances to be loaded at any time
Support addition of hardware of an already supported type (64x)
Support addition of new hardware during operation.
Remove records during operation.
V4 – Redundancy: Multiple masters of remote I/O
• Support name responses from multiple controllers of the same
database.
• Support request for all fields from a primary database to its backup.
• Support a request for all fields that have changed since the last
synchronization of the backup to the primary.
• Support a mechanism for switching from the primary to the backup.
• Provide a mechanism for synchronizing primary and the backup.
• Support multiple communication paths that provide
– an isolated network for synchronization traffic
– redundant checks to synchronize switch over behavior.
• Provide a mechanism to start/stop scanning
• Provide a mechanism to start/stop sequences
• Provide a mechanism to start/stop drivers from scanning
V4 – Name Resolution Extensions
• Allow wildcard searches
• Allow request to send all names supported in the IOC
• Support redundancy by allowing connections to specify
that they are not active
• Support multiple name servers by allowing connections
to specify how close to the source they are.
• Name aliasing supported.
V4 – Data Acquisition Capabilities
• New subscription parameters
–
–
–
–
Rate limit
Value changes (as before but also % change)
Triggers
Filters
• Examples
– Send BPM at 1 Hz (where 1 Hz across IOCs is the same)
– Send BPM when trigger specifies that this pulse is e– Send RF reading when filter says that vacuum is higher than 10e-6 torr
•
•
•
•
Allows more accurate requests for data on client applications
Indexed array access
Reduces the amount of network and client CPU usage
Specify priority for circuit - QOS
V4 – Structure and Array Support
• Allows definition and access to complex devices
and multi-dimensional arrays
• Name hierarchy in Channel Access
– <arbitrary string>.structure. Element[n]
– e.g. Arc3PwrSupply.readback.status,
ArcPwrSupply.readback.value
• Device description in database
• Support arbitrary number of inputs to
calculations and subroutines.
• Support multi-state devices of an arbitrary
number of states
V4 – Automatic Backup and Restore
• Provide a standard tool to backup all fields that
are changed as a result of channel access puts.
• Provide a restore utility that replaces these fields
into the IOC on reboot.
• May use same mechanism used by redundant
IOCs to provide the backup and restore
capability.
• Provide a mechanism to determine if the
automatic restore should be disabled (such as
time passed)
• Should SNL programs also be supported?
V4 – Device Read/Write Operations
• Allows multiple fields to be read/written as an atomic
operation
• Reads/Writes can be triggered
– e.g. Put( Corr1.K, Corr2.K, Corr3.K, on trigger event)
– All puts take place when the trigger event occurs
• Write with return data support (Command/Response)
• Ramping/arb function outputs – given two end points
V4 – Time Stamp Internationalization
• Support ISO 8601 Format
– Year-month-date-hours-minutes-seconds-fractional seconds
– Country specific time stamps
• Support Locale Settings for conversions
– ,02 as 2 hundreds of a second
V4 – CA Server with the Sequencer
• Provide access to variables that are defined in
SNL
–
–
–
–
–
State
Variables defined in the SNL Program
Last State
Time in State
Etc…
• SNL Diagnostics
–
–
–
–
Number of external channels defined
Number of external channels connected
Number of tcp/ip connections
Etc…..
V4 – Channel Access Diagnostics
• Server Diagnostics – available from ca clients
–
–
–
–
–
–
Connections
Channels
Events per second
State of Health
Beacon Periodicity
Etc…
• Client Diagnostics
–
–
–
–
–
Number of connections per server per client
Number of channels
Events per second
State of connection
Etc…..
V4 – Support Large / Multi-segmented Control
System
• Support load balancing between multiple data sources
(1st order gateway, 2nd order gateway, IOC, and load).
• Support domain control independent of network topology
– Beamline data is not available to the control room
– Only insertion gap and beam quality information is available to
the beamline controls from the ring control room.
V4 – Extendable Metadata / Properties
• Metadata can be extendable –
– Add array dimensions
– Add time base to an array
– Application programmers can add metadata
• Specify metadata by field rather than record
– Only get metadata when it is meaningful
– No display limits for the high display limit
• Calc and subroutine records have arrays of inputs
– No limit to the number of variables
V4 – Limitations Remediation
• Multi-line text
• Variable length strings
– Removes current limitations of 40 characters
– Reduces size of memory use in most cases
– Reduces network traffic in most cases
• Unicode
– Support alternate character sets
• Multidimensional arrays
• Variable size arrays