logo资料库

EPICS App开发.pdf

第1页 / 共339页
第2页 / 共339页
第3页 / 共339页
第4页 / 共339页
第5页 / 共339页
第6页 / 共339页
第7页 / 共339页
第8页 / 共339页
资料共339页,剩余部分请下载后查看
EPICS Applications Developer's Guide
Table of Contents
1 Introduction
1.1 Overview
1.2 Acknowledgments
2 Getting Started
2.1 Introduction
2.2 Example IOC Application
2.3 Channel Access Host Example
2.4 iocsh
2.5 Building IOC components
2.6 makeBaseApp.pl
2.7 vxWorks boot parameters
2.8 RTEMS boot procedure
3 EPICS Overview
3.1 What is EPICS?
3.2 Basic Attributes
3.3 IOC Software Components
3.4 Channel Access
3.5 OPI Tools
3.6 EPICS Core Software
4 Build Facility
4.1 Overview
4.2 Build Requirements
4.3 Configuration Definitions
4.4 Makefiles
4.5 Make
4.6 Makefile definitions
4.7 Table of Makefile definitions
4.8 Configuration Files
4.9 Build Documentation Files
4.10 Startup Files
5 Database Locking, Scanning, And Processing
5.1 Overview
5.2 Record Links
5.3 Database Links
5.4 Database Locking
5.5 Database Scanning
5.6 Record Processing
5.7 Guidelines for Creating Database Links
5.8 Guidelines for Synchronous Records
5.9 Guidelines for Asynchronous Records
5.10 Cached Puts
5.11 putNotify
5.12 Channel Access Links
6 Database Definition
6.1 Overview
6.2 Summary of Database Syntax
6.3 General Rules for Database Definition
6.4 path addpath -- Path Definition
6.5 include -- Include File
6.6 menu -- Menu Declaration
6.7 recordtype -- Record Type Declaration
6.8 device -- Device Support Declaration
6.9 driver -- Driver Declaration
6.10 registrar -- Registrar Declaration
6.11 variable -- Variable Declaration
6.12 function -- Function Declaration
6.13 breaktable -- Breakpoint Table
6.14 record -- Record Instance
6.15 Record Information Item
6.16 Record Attributes
6.17 Breakpoint Tables -- Discussion
6.18 Menu and Record Type Include File Generation.
6.19 dbExpand
6.20 dbLoadDatabase
6.21 dbLoadRecords
6.22 dbLoadTemplate
6.23 dbReadTest
7 IOC Initialization
7.1 Overview - Environments requiring a main program
7.2 Overview - vxWorks
7.3 Overview - RTEMS
7.4 IOC Initialization
7.5 Pausing an IOC
7.6 Changing iocCore fixed limits
7.7 initHooks
7.8 Environment Variables
7.9 Initialize Logging
8 Access Security
8.1 Overview
8.2 Quick Start
8.3 User's Guide
8.4 Design Summary
8.5 Access Security Application Programmer's Interface
8.6 Database Access Security
8.7 Channel Access Security
8.8 Trapping Channel Access Writes
8.9 Access Control: Implementation Overview
8.10 Structures
9 IOC Test Facilities
9.1 Overview
9.2 Database List, Get, Put
9.3 Breakpoints
9.4 Trace Processing
9.5 Error Logging
9.6 Hardware Reports
9.7 Scan Reports
9.8 General Time
9.9 Access Security Commands
9.10 Channel Access Reports
9.11 Interrupt Vectors
9.12 Miscellaneous
9.13 Database System Test Routines
9.14 Record Link Reports
9.15 Old Database Access Testing
9.16 Routines to dump database information
10 IOC Error Logging
10.1 Overview
10.2 Error Message Routines
10.3 errlog Listeners
10.4 errlogThread
10.5 console output and message queue size
10.6 Status Codes
10.7 iocLog
11 Record Support
11.1 Overview
11.2 Overview of Record Processing
11.3 Record Support and Device Support Entry Tables
11.4 Example Record Support Module
11.5 Record Support Routines
11.6 Global Record Support Routines
12 Device Support
12.1 Overview
12.2 Example Synchronous Device Support Module
12.3 Example Asynchronous Device Support Module
12.4 Device Support Routines
12.5 Extended Device Support
13 Driver Support
13.1 Overview
13.2 Device Drivers
14 Static Database Access
14.1 Overview
14.2 Definitions
14.3 Allocating and Freeing DBBASE
14.4 DBENTRY Routines
14.5 Read and Write Database
14.6 Manipulating Record Types
14.7 Manipulating Field Descriptions
14.8 Manipulating Record Attributes
14.9 Manipulating Record Instances
14.10 Manipulating Menu Fields
14.11 Manipulating Link Fields
14.12 Manipulating MenuForm Fields
14.13 Manipulating Information Items
14.14 Find Breakpoint Table
14.15 Dump Routines
14.16 Examples
15 Runtime Database Access
15.1 Overview
15.2 Database Include Files
15.3 Runtime Database Access Overview
15.4 Database Access Routines
15.5 Runtime Link Modification
15.6 Channel Access Monitors
15.7 Lock Set Routines
15.8 Channel Access Database Links
16 EPICS General Purpose Tasks
16.1 Overview
16.2 General Purpose Callback Tasks
16.3 Task Watchdog
17 Database Scanning
17.1 Overview
17.2 Scan Related Database Fields
17.3 Scan Related Software Components
17.4 Implementation Overview
18 IOC Shell
18.1 Introduction
18.2 IOC Shell Operation
18.3 IOC Shell Programming
19 libCom
19.1 bucketLib
19.2 calc
19.3 cppStd
19.4 epicsExit
19.5 cvtFast
19.6 cxxTemplates
19.7 dbmf
19.8 ellLib
19.9 epicsRingBytes
19.10 epicsRingPointer
19.11 epicsTimer
19.12 fdmgr
19.13 freeList
19.14 gpHash
19.15 logClient
19.16 macLib
19.17 misc
20 libCom OSI libraries
20.1 Overview
20.2 epicsAssert
20.3 epicsEndian
20.4 epicsEvent
20.5 epicsFindSymbol
20.6 epicsGeneralTime
20.7 epicsInterrupt
20.8 epicsMath
20.9 epicsMessageQueue
20.10 epicsMutex
20.11 epicsStdlib
20.12 epicsStdio
20.13 epicsStdioRedirect
20.14 epicsThread
20.15 epicsTime
20.16 osiPoolStatus
20.17 osiProcess
20.18 Ignoring Posix Signals
20.19 OS-Independent Socket API
20.20 Device Support Library
20.21 vxWorks Specific routines and Headers
21 Registry
21.1 Registry.h
21.2 registryRecordType.h
21.3 registryDeviceSupport.h
21.4 registryDriverSupport.h
21.5 registryFunction.h
21.6 registerRecordDeviceDriver.c
21.7 registerRecordDeviceDriver.pl
22 Database Structures
22.1 Overview
22.2 Include Files
22.3 Structures
Index
1 EPICS Application Developer’s Guide EPICS Base Release 3.14.12.5 6 October 2016 Martin R. Kraimer, Janet B. Anderson, Andrew N. Johnson (Argonne National Laboratory) W. Eric Norum (Lawrence Berkeley Laboratory) Jeffrey O. Hill (Los Alamos National Laboratory) Ralph Lange, Benjamin Franksen (Helmholtz-Zentrum Berlin) Peter Denison (Diamond Light Source)
2
Contents EPICS Applications Developer’s Guide Table of Contents 1 Introduction 1.1 Overview . . 1.2 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Getting Started . . . . . . . . . iocsh . Introduction . . . 2.1 2.2 Example IOC Application . . 2.3 Channel Access Host Example . . 2.4 . 2.5 Building IOC components . . 2.6 makeBaseApp.pl . . 2.7 2.8 RTEMS boot procedure . . . vxWorks boot parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 EPICS Overview . . . . . . . . . . 3.1 What is EPICS? . 3.2 Basic Attributes . 3.3 . 3.4 Channel Access . 3.5 OPI Tools . . . 3.6 EPICS Core Software . . . IOC Software Components . . . . . . . . . . . . . . . . . . . . . . 4 Build Facility . . . . . . . . . . . . . . . . 4.1 Overview . . . 4.2 Build Requirements . . . 4.3 Configuration Definitions . . . 4.4 Makefiles . . . . 4.5 Make . . 4.6 Makefile definitions . . . 4.7 Table of Makefile definitions . . 4.8 Configuration Files . . 4.9 Build Documentation Files . . . . 4.10 Startup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Database Locking, Scanning, And Processing . . . 5.1 Overview . . 5.2 Record Links . 5.3 Database Links . . 5.4 Database Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1 7 9 9 11 13 13 13 15 16 16 19 22 23 25 25 26 26 28 30 30 33 33 35 36 41 42 43 71 78 81 82 83 83 83 84 85
4 CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Database Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.6 Record Processing . 5.7 Guidelines for Creating Database Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Guidelines for Synchronous Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Guidelines for Asynchronous Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.10 Cached Puts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.11 putNotify . . . 5.12 Channel Access Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 86 86 89 89 91 91 91 6 Database Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Overview . . 95 6.2 Summary of Database Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.3 General Rules for Database Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.4 path addpath – Path Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 include – Include File . . 99 6.6 menu – Menu Declaration . . 6.7 recordtype – Record Type Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.8 device – Device Support Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.9 driver – Driver Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.10 registrar – Registrar Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.11 variable – Variable Declaration . . . 6.12 function – Function Declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.13 breaktable – Breakpoint Table . . . 6.14 record – Record Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 . . 6.15 Record Information Item . . 6.16 Record Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.17 Breakpoint Tables – Discussion . . . 6.18 Menu and Record Type Include File Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . 6.19 dbExpand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . 6.20 dbLoadDatabase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.21 dbLoadRecords . . 6.22 dbLoadTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.23 dbReadTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 IOC Initialization 7.1 Overview - Environments requiring a main program . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Overview - vxWorks . 7.3 Overview - RTEMS . . 7.4 . 7.5 Pausing an IOC . . . 7.6 Changing iocCore fixed limits . 7.7 . 7.8 Environment Variables . . . 7.9 119 . 119 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 IOC Initialization . . Initialize Logging . initHooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 8 Access Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 . 8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 . 8.2 Quick Start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 8.3 User’s Guide . 8.4 Design Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 8.5 Access Security Application Programmer’s Interface . . . . . . . . . . . . . . . . . . . . . . . . . . 136 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 8.6 Database Access Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 8.7 Channel Access Security . 8.8 Trapping Channel Access Writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONTENTS 5 8.9 Access Control: Implementation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.10 Structures . . 145 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 . . . . . . . . . . . 9 IOC Test Facilities . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Overview . . . 9.2 Database List, Get, Put . . . . 9.3 Breakpoints . . . . . . 9.4 Trace Processing . . . . . 9.5 Error Logging . . . . 9.6 Hardware Reports . . . . . . . . 9.7 Scan Reports . . 9.8 General Time . . . . . . 9.9 Access Security Commands . 9.10 Channel Access Reports . . . . 9.11 Interrupt Vectors 9.12 Miscellaneous . . . . 9.13 Database System Test Routines . 9.14 Record Link Reports . . 9.15 Old Database Access Testing . . 9.16 Routines to dump database information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 . 162 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 IOC Error Logging . 165 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 10.2 Error Message Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 . 10.3 errlog Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 10.4 errlogThread . . . 10.5 console output and message queue size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 10.6 Status Codes . 10.7 iocLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Record Support 11.1 Overview . . 11.2 Overview of Record Processing . 11.3 Record Support and Device Support Entry Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Example Record Support Module 11.5 Record Support Routines . . 11.6 Global Record Support Routines . 171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 . . 172 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 . . . . . . . 12 Device Support . . . . 12.1 Overview . 12.2 Example Synchronous Device Support Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Example Asynchronous Device Support Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4 Device Support Routines . 12.5 Extended Device Support . 187 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 . 188 . 189 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 . . . . . . . . . . . . . . . . 13 Driver Support 13.1 Overview . . 13.2 Device Drivers . . . . . . . . . . . . . . . . . . . . . 195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 14 Static Database Access . . 199 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 14.2 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 14.3 Allocating and Freeing DBBASE . . 14.4 DBENTRY Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 14.5 Read and Write Database . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 14.6 Manipulating Record Types . 14.7 Manipulating Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 14.8 Manipulating Record Attributes . . 14.9 Manipulating Record Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 . 14.10Manipulating Menu Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 . 14.11Manipulating Link Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 14.12Manipulating MenuForm Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 14.13Manipulating Information Items 14.14Find Breakpoint Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 . . . 14.15Dump Routines . 14.16Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 15 Runtime Database Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 15.1 Overview . . 15.2 Database Include Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 15.3 Runtime Database Access Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 15.4 Database Access Routines . . 15.5 Runtime Link Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 . . 15.6 Channel Access Monitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 15.7 Lock Set Routines . . . . 15.8 Channel Access Database Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 . . . . . . . . 16 EPICS General Purpose Tasks . . 16.1 Overview . . 16.2 General Purpose Callback Tasks . 16.3 Task Watchdog . 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 . . . . . . . . . . . . . . . . . 17 Database Scanning . . . . . 17.1 Overview . . 17.2 Scan Related Database Fields . 17.3 Scan Related Software Components . 17.4 Implementation Overview . . . . . . . . . 243 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 18 IOC Shell . . 18.1 Introduction . 18.2 IOC Shell Operation . . 18.3 IOC Shell Programming . . . . . . . 19 libCom . . . . . . . . . . . . . 19.1 bucketLib . . . . 19.2 calc . . . . . 19.3 cppStd . . . . 19.4 epicsExit . . 19.5 cvtFast . . . . 19.6 cxxTemplates . . . 19.7 dbmf . . 19.8 ellLib . . . 19.9 epicsRingBytes . 19.10epicsRingPointer . 19.11epicsTimer . 19.12 fdmgr . . 19.13freeList . . . 19.14gpHash . . 19.15logClient 19.16macLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 261 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONTENTS 7 19.17misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 20 libCom OSI libraries . . . . . . 20.1 Overview . . . . . . 20.2 epicsAssert . . . . . . 20.3 epicsEndian . . . . 20.4 epicsEvent . . . . . . 20.5 epicsFindSymbol . . . 20.6 epicsGeneralTime . . . 20.7 epicsInterrupt . . 20.8 epicsMath . . . . . 20.9 epicsMessageQueue . . . . 20.10epicsMutex . . . 20.11epicsStdlib . . . . . 20.12epicsStdio . . . . . 20.13epicsStdioRedirect . . . . 20.14epicsThread . . . 20.15epicsTime . . . . . . . 20.16osiPoolStatus . . 20.17osiProcess . . . . 20.18Ignoring Posix Signals . 20.19OS-Independent Socket API 20.20 Device Support Library . 20.21vxWorks Specific routines and Headers 287 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 . 317 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Registry . . . . . . . . 21.1 Registry.h . . . 21.2 registryRecordType.h . . . 21.3 registryDeviceSupport.h . . . 21.4 registryDriverSupport.h . . 21.5 registryFunction.h . . . . 21.6 registerRecordDeviceDriver.c . 21.7 registerRecordDeviceDriver.pl . . . . . . . 22 Database Structures . . . 22.1 Overview . . 22.2 Include Files . 22.3 Structures . . . . . . . . . . . . . . . . . . . . . . . . . . Index 319 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 321 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 . . . . . . . . . . 325
8 CONTENTS
分享到:
收藏