1 INTRODUCTION 9 1.1 PURPOSE 9 1.2 SCOPE 9 1.3 APPLICABLE DOCUMENTS 9 1.4 REFERENCE DOCUMENTS 9 1.5 ABBREVIATIONS AND ACRONYMS 11 1.6 GLOSSARY 11 1.7 STYLISTIC CONVENTIONS 12 1.8 Problem Reporting / Change Request 12 2 OVERVIEW 13 2.1 Getting Started 16 3 APPLICATION SOFTWARE REQUIREMENTS 17 3.1 General Requirements 17 3.1.1 General Requirements only applicable to LCU Software 18 3.1.2 Application Data 19 3.1.3 Communication Protocol 20 3.1.4 Commands 21 3.1.5 Time System 24 3.1.6 LCU Drivers 25 3.2 Failure Mode Operation 26 3.2.1 Error/Failure Modes 26 3.2.2 Error/Failure Reporting 27 3.2.3 Recovery 27 3.2.4 Performance 28 3.3 Safety 28 3.4 Maintenance 30 3.4.1 Self-checking Test Programs and Diagnostic Routines on the LCU 30 3.4.2 Control Loop Tuning 32 4 GUIDELINES FOR APPLICATIONS 33 4.1 DECOMPOSITION OF AN APPLICATION 34 4.1.1 Process Naming Conventions 34 4.1.2 LCU Binary Naming Conventions 34 4.1.3 Assigning Processes on the LCU 35 4.2 HOW TO CREATE AN APPLICATION ON THE LCU 37 4.2.1 Command Interpreter 38 4.2.2 Creating an LCU Application 40 4.2.3 LCU Management 40 4.3 START-UP 45 4.3.1 Start-up of LCU 45 4.4 COMMUNICATION 47 4.4.1 Message System Protocol 47 4.4.2 Message System Syntax 47 4.4.3 Command Naming Conventions 48 4.4.4 CDT and CIT for standard commands 48 4.4.5 Parsing of commands 49 4.5 DATABASE 50 4.5.1 Database Architecture 50 4.5.2 Data Organisation 50 4.5.3 Objects and Methods 50 4.5.4 Database Access 51 4.5.5 Event Handling 51 4.5.6 Alarms 51 4.5.7 Database tables & C structures. 52 4.6 OBJECT ORIENTED DESIGN AND DEVELOPMENT ECCS, EVH and Database design 54 4.6.1 Policy and standards 54 4.6.2 Basic object oriented concepts 55 4.6.3 Extended CCS 57 4.6.4 The Event Handling Toolkit 59 4.6.5 Application design versus database design 65 4.7 ERROR HANDLING 71 4.7.1 Procedural Interface 71 4.7.2 Error context handling 71 4.7.3 Repeated errors 71 4.7.4 Programming: Rules and Examples 71 4.7.5 General Remarks 78 4.8 LOGGING 79 4.9 SIGNALS 80 4.9.1 Signal Naming Conventions 80 4.9.2 Signal Configuration 80 4.9.3 Signal Database Image 80 4.9.4 Signal Monitoring 80 4.10 TIME HANDLING 81 4.10.1 Using the Time System 81 4.10.2 Synchronization of LCUs 81 4.10.3 Synchronization of Hardware 82 4.10.4 Synchronization of Workstations. 82 4.11 SCAN SYSTEM 83 4.12 SIMULATION 84 4.13 CONFIGURATION 85 4.13.1 LCC Configuration 85 4.13.2 CCS configuration. 86 4.13.3 Environment concept 86 4.14 DEBUGGING TOOLS 89 4.14.1 LCU debugging, VxGDB, VxWorks source code debugger 89 4.14.2 WS debugging, gdb 90 4.15 MEMORY REQUIREMENTS 91 4.15.1 Memory Requirements on the LCU 91 4.16 PERFORMANCE 93 4.16.1 LCU Performance 93 4.16.2 Workstation performance 95