Table of Contents

 

 

 

 

 

 

Table of Contents iii
Chapter 1: Introduction 1

1.1. Note on Versions 1

1.2. Overview 1

1.3. Content of this Manual 2

1.4. Copyright and Restrictions 2

1.5. Notes on This Release 2

1.6. Future Plans 5

1.7. Notes on v1.9 Release 5

Chapter 2: State Notation Language Concepts 7

2.1. The State Transition Diagram 7

2.2. Elements of the State Notation Language 8

2.3. A Complete State Program 8

2.4. Adding a Second State Set 9

2.5. Variable Names Using Macros 10

2.6. Data Types 11

2.7. Arrays of Variables 11

2.8. Dynamic Assignment 12

2.9. Status of Control System Variables 12

2.10. Synchronizing State Sets with Event Flags 13

2.11. Queuing Monitors 14

2.12. Asynchronous Use of pvGet() 14

2.13. Asynchronous Use of pvPut() 15

2.14. Connection Management 16

2.15. Multiple Instances and Reentrant Object Code 16

2.16. Control System Variable Element Count 16

Chapter 3: Compiling a State Program 19

3.1. Files needed 19

3.2. The State Notation Compiler 19

3.3. Name of output file 20

3.4. Compiler Options 20

3.5. Compiler Errors 21

3.6. Compiler Warnings 21

3.7. Compiling and Linking a State Program under Unix 21

3.8. Using makeBaseApp 22

Chapter 4: Using the Run Time Sequencer 25

4.1. VxWorks-specific instructions 25

4.2. Unix-specific instructions 26

4.3. Specifying Run-Time Parameters 27

4.4. Sequencer Logging 28

4.5. What Triggers an Event? 28

Chapter 5: State Notation Language Syntax 29

5.1. Typographical conventions 29

5.2. State Program 29

5.3. Definitions 30

5.4. State Sets 32

5.5. Statements and Expressions 34

5.6. Built-in Functions 35

5.7. C Compatibility Features 38

Chapter 6: The PV (Process Variable) API 41

6.1. Introduction 41

6.2. Rationale 41

6.3. A tour of the API 42

6.4. The API in More Detail 43

6.5. Supporting a New Message System 48

Chapter 7: Examples of State Programs 53

7.1. Entry and exit action example 53

7.2. Dynamic assignment example 54

7.3. Complex example 54

Chapter 8: Installation 59

8.1. Prerequisites 59

8.2. Obtaining the distribution 59

8.3. Unpacking the distribution 60

8.4. Preparing to build 60

8.5. Building and installing 61

8.6. Verifying the installation 61

8.7. Using the installation 63

Chapter 9: Acronyms/Glossary 65

9.1. Acronym List 65

9.2. Glossary 65

Index 67