EPICS CHANNEL ACCESS ENHANCEMENTS FOR LANSCE TIMED AND
- Slides: 20
EPICS CHANNEL ACCESS ENHANCEMENTS FOR LANSCE TIMED AND FLAVORED DATA J. Hill
Overview Introduction LANSCE Requirements EPICS Event Queue Upgrade Milestones
LANSCE Requirements LANSCE timing and flavoring of data Flavoring �Logical configuration of beam gates Timing �Time sampling (single element) within a beam pulse Many permutations Too many to, a priori, install records for all of them Channel Access client must somehow specify timing and flavoring when it subscribes
EPICS Fundamentals Channels and Process Variables Channel is virtual communication link to process variable �We can perform read, write, and subscribe operations over a channel Publish and Subscribe Clients subscribe for updates Servers publish updates to multiple clients Records post state change events to servers
EPICS Event Queue – A Pivotal Component Tying high priority deterministically scheduled activities to the low priority load nondeterministic server component The event queue guarntees that this value/alarm status/time stamp tuple are consistent It is essential that we minimize what impact client induced load has on record processing threads
EPICS Event Queue – Theory of Operation Records execute at relatively high priority, server executes at relatively low priority Record processing never blocks for slow clients Record is producer and client is consumer Sever production rate might exceed consumption rate of client or network – queuing system needs to serve dual purposes �Burst � Attempts to avoid discarding updates �Sustained � Keep subscriptions current � Intentionally discard intermediate updates � Do not introduce time delays
Current Event Queue is Quite Inflexible The only parameters that can be correlated together in time with any surety over Channel Access are Scalar Value, Time Stamp, Alarm Status �The exception - after the fact correlation using the time stamp This is very inflexible �It does not allow clients to specify their data capture constraints �Array value change events are not recorded on the event queue �It doesn’t allow for on the fly application driven experiments needed at LANSCE
Event Queue Upgraded Record Specific Legacy. Parameter Fixed Event Set Parameter Set Scalar or Vector Value Scalar Value Time Stamp Alarm Status Alarm…Status Record Upgraded Device Specific Event Parameter Set LANSCE Beam Gate Specification CA Server Event Queue
Event Queue Memory Management Smart Pointers to Data Access Interfaced Objects Reference counted �Increments when smart pointer is copied �Decrements when smart pointer is destroyed �Release callback when count decrements to zero Memory Management Handled by event posting agent Can be free list based
Event Filter Upgrade Record Event. Circuit TCP Filter Event Queue Event Filter Expression value < 10. 0 and value > log ( current. Monitor 0007. current ) and require. Flavor ( beam. Gate. A | beam. Gate. B ) and exclude. Flavor ( beam. Gate. C ) Discard
Event Filter Implementation Could be based on the same library that the calc record uses Would prefer however to base expressions on property names instead of {A, B, C, . . } as is currently the case with the CALC library Many mainstream open source alternatives
Event Filter Upgrade Client Library Moderate Interface Upgrade Server Library Moderate Subscription Protocol Upgrade Event Filter
Array Index Metadata Magnitude of zero-eth element index Floating point Magnitude of one index increment Floating point Units of these magnitudes String
Data Access Interfaces for DBR Types CA Type Code DBR_CHAR DBR_SHORT DBR_ENUM DBR_LONG DBR_FLOAT DBR_DOUBLE DBR_STRING DBR_STS_<PRIMITIVE TYPE> DBR_TIME_<PRIMITIVE TYPE> DBR_GR_<PRIMITIVE TYPE> DBR_CTRL_<PRIMITIVE TYPE> DBR_PUT_ACKT DBR_PUT_ACKS DBR_STSACK_STRING DBR_CLASS_NAME Data Access Interfacing Adapter
Segmented Protocol Buffer In R 3. 13 Fixed 16 KB protocol buffer limited array size In R 3. 14 Two protocol buffer sizes �Fixed 16 KB protocol buffers �EPICS_CA_MAX_ARRAY_BYTES protocol buffers In R 3. 15 Segmented protocol buffer �Based on free list of fixed sized buffers Improved memory management �In R 3. 14 two large EPICS_CA_MAX_ARRAY_BYTES protocol buffers dedicated to each client even if they are not currently using them Potentially no array size limits �But, perhaps EPICS_CA_MAX_ARRAY_BYTES � Defines a quota, but with a large default value
Server Implementation Consolidation portable rsrvserver db. Access snap-in database upgraded Data Access based interface
LANSCE Capable Waveform Record Legacy device support interface Legacy db_post_events interface Ordinary Record Upgraded Event Queue Ordinary Device Support Data Access based event posting interface LANSCE Capable Record Data Access based device Support interface Upgraded Event Queue LANSCE Specific Device Support
Milestones Internal Design Review Interface Description Retrofit Event Queue to New Interface Retrofit Portable Server to New Interface Service Snap in for db. Access Subscription Update Filter Data Access Close Out Data Access to DBR_XXX LANSCE Specific Waveform Record
Benefits for LANSCE style dynamic on-the-fly ad-hoc beam flavoring and beam timing experiments But, in homogenous EPICS system Tool based approach to LANSCE applications Applications have abstract model of hardware Incremental upgrades possible Multi-element “Timed” data COTS digitizer Window in time selected
Benefits for EPICS Community Flexible event snapshots Parameters other than alarm status, time stamp, scalar value correlated on event queue Arrays correlated on event queue with other parameters Subscription update filtering Expression (string) based means �Project and site independent – tool based approach �Minimally invasive for existing client side tools Array index meta data Expanding intersection of EPICS with data acquisition systems
- Epics channel access
- Epics caget
- Epics channel access
- Epics channel access
- Lansce los alamos
- This mean "no grammatical errors" in communication.
- Monomer liquid and polymer powder
- Advertising vs promotion
- Nail enhancement structure
- "normally open, timed-closed contact symbol"
- Timed essay examples
- Timed stands test manual
- Hand up stand up pair up
- Timed writing rubric
- Port mapper failure - timed out
- Pastimistic
- Epic heros
- Advantages and disadvantages of multi channel retailing
- Conversion of continuous awgn channel to vector channel
- N channel p channel
- To remove hard uv and led gels, you must: