Control Language Application Module Reference Manual
Total Page:16
File Type:pdf, Size:1020Kb
L Control Language Application Module Reference Manual AM27-410 L Implementation Application Module - 3 Control Language Application Module Reference Manual AM27-410 Release 420 2/96 Copyright, Trademarks, and Notices © Copyright 1992 by Honeywell Inc. Revision 06 – February 15, 1996 While this information is presented in good faith and believed to be accurate, Honeywell disclaims the implied warranties of merchantability and fitness for a particular purpose and makes no express warranties except as may be stated in its written agreement with and for its customer. In no event is Honeywell liable to anyone for any indirect, special or consequential damages. The information and specifications in this document are subject to change without notice. About This Publication This publication provides reference information about the Honeywell Control Language for the Application Module (CL/AM). This publication supports software Release 420. Change bars are used to indicate paragraphs, tables, or illustrations containing changes that have been made by Document Change Notices or an update. Pages revised only to correct minor typographical errors contain no change bars. All changes made by previous Document Change Notices have been incorporated in this update. CL/AM Reference 2/96 CL/AM Reference 2/96 Table of Contents 1 INTRODUCTION 1.1 Purpose/Background 1.2 References 1.2.1 General CL/AM Information 1.2.2 Publications with CL/AM-Specific Information 1.3 CL/AM Overview 2 RULES AND ELEMENTS OF CL/AM 2.1 Introduction to CL/AM Rules and Elements 2.2 CL/AM Rules and Elements 2.2.1 Character Set Definition 2.2.2 Spacing 2.2.3 Lines 2.2.4 Syntax (Summary is in Appendix A) 2.2.5 CL/AM Restrictions 2.2.6 Comments 2.2.7 Identifiers 2.2.8 Numbers 2.2.9 String 2.2.10 Special Symbols 2.3 CL/AM Data Types 2.3.1 Number Data Type 2.3.2 Time Data Type 2.3.3 Discrete Data Types 2.3.4 Data Points Data Type 2.3.5 Array Data Type 2.3.6 String Data Type 2.3.7 Referencing Compound Elements 2.3.8 Indirect Reference to Point Identifiers 2.4 Variables and Declarations 2.4.1 Variables and Declarations Syntax 2.4.2 Local Variables 2.4.3 Local Constants 2.4.4 External Data Points 2.4.5 Parameter Declarations 2.4.6 Function Declarations 2.5 Expressions and Conditions 2.5.1 Expressions and Conditions Syntax 2.5.2 Arithmetic and Logical Expressions 2.5.3 Time Expressions 2.5.4 Conditions Definition 3 CL/AM STATEMENTS 3.1 Introduction 3.2 Program Statements Definition 3.2.1 Program Statements Syntax 3.2.2 Statement Labels 3.2.3 SET Statement 3.2.4 STATE CHANGE Statement CL/AM Reference i 2/96 Table of Contents 3.2.5 GOTO Statement 3.2.6 IF, THEN, ELSE Statement 3.2.7 LOOP Statement 3.2.8 REPEAT Statement 3.2.9 CALL Statement 3.2.10 SEND Statement 3.2.11 EXIT Statement 3.2.12 ABORT Statement 3.2.13 END Statement 3.3 Embedded Compiler Directives 3.3.1 Embedded Compiler Directives Syntax 3.3.2 %PAGE Directive 3.3.3 %DEBUG Directive 3.3.4 %RELAX Directive 3.3.5 %INCLUDE_SET Directive 3.3.6 %INCLUDE_SOURCE Directive 4 CL/AM STRUCTURES 4.1 CL/AM Structures—General Orientation 4.2 Block Definition 4.2.1 Block Syntax 4.2.2 Block Description 4.2.3 Block-Heading Definition 4.2.4 Block-Heading Syntax 4.2.5 Block-Heading Description 4.2.6 Block-Heading Examples 4.3 Subroutine Definition 4.3.1 Subroutine-Heading Definition 4.3.2 Subroutine-Heading Syntax 4.3.3 Subroutine-Heading Description 4.3.4 Subroutine-Heading Examples 4.3.5 Subroutine Data-Declarations Definition 4.3.6 Subroutine Arguments Definition 4.3.7 Built-in Functions and Subroutines 4.4 Custom Data Segments Definition 4.4.1 Custom Data Segment Syntax 4.4.2 Custom Data Segment Description 4.4.3 Custom Data Segment Heading 4.4.4 Custom Data Segment Parameter Declaration 4.4.5 Custom Data Segment Parameter Attribute Statement 4.5 Parameter List Definition 4.5.1 Parameter List Syntax 4.5.2 Parameter List Description 4.5.3 Parameter List Examples 4.6 Enumeration-Type Definition 4.6.1 Enumeration-Type Definition Syntax 4.6.2 Enumeration-Type Definition Description 4.6.3 Enumeration-Type Definition Examples 4.7 Package Definition 4.7.1 Package Syntax 4.7.2 Package Description 4.7.3 Package Examples CL/AM Reference ii 2/96 Table of Contents 4.8 CL Runtime Extensions 4.9 Examples of CL/AM Structures 4.9.1 PV Calculation Example 4.9.2 Linearization Example 4.9.3 Custom Data Segment Example 4.9.4 BTU Switch Package Example 4.10 File Manager Status Return Values 4.11 CDS Request Return Status Values APPENDIX A CL/AM SYNTAX SUMMARY A.1 Syntax (Grammar) Summary A.2 Syntax Diagram Summary A.3 Notation Used for Syntax Production Rules A.4 CL/AM Syntax Production Rules APPENDIX B CL/AM SOFTWARE ENVIRONMENT B.1 References to Control Functions Publications B.2 CL/CDS Capacities B.3 $REG_CTL Parameter List B.4 CL Data Access Performance APPENDIX C CL/AM EXTENSION FOR FILE I/O C.1 References C.2 Overview of File I/O Extensions C.3 Restrictions C.4 Packaging C.5 Installation and Configuration C.6 CL Callable Subroutines C.7 Return Status Values C.8 Memory Considerations C.9 File I/O Performance Example APPENDIX D CL/AM EXTENSION FOR CONTINUOUS HISTORY ACCESS D.1 Overview of the History Access Extension D.1.1 Features of this CL/AM Extension D.1.2 Summary of Subroutines in this CL Extension D.1.3 Memory Use D.2 Packaging D.3 Installation and Configuration D.4 CL Callable Subroutines D.4.1 Introduction D.4.1.1 Including the Set Definition File D.4.1.2 Subroutine Return Status D.4.1.3 CL Aborts D.4.2 AMCL03$Get_Collection_Rate Subroutine D.4.3 AMCL03$Abs_History Subroutine D.4.4 AMCL03$Rel_History Subroutine D.4.5 AMCL03$Avg_History Subroutine CL/AM Reference iii 2/96 Table of Contents D.5 Special Issues D.5.1 Bad Values D.5.2 Time Change D.5.2.1 Spring Time Change D.5.2.2 Fall Time Change D.5.3 Scope of Search APPENDIX E CL/AM EXTENSION FOR MATH LIBRARY E.1 Overview of the Math Library Extension E.1.1 Features of this CL/AM Extension E.1.2 Summary of Subroutines in this CL Extension E.1.3 Hardware Requirements E.1.3.1 Memory Used E.1.3.2 Processor Type E.1.4 Work Areas E.1.5 Matrix Size Restrictions E.1.6 Array and Array Size Arguments E.2 Packaging E.3 Installation and Configuration E.4 CL Callable Subroutines E.4.1 Introduction E.4.1.1 Including the Set Definition File E.4.1.2 Subroutine Return Status E.4.1.3 CL Aborts E.4.2 AMCL02$Standard_Deviation Subroutine E.4.3 AMCL02$Uniform_Random_Number Subroutine E.4.4 AMCL02$Normal_Random_Number Subroutine E.4.5 AMCL02$Get_Time Subroutine E.4.6 AMCL02$Subtract_Time Subroutine E.4.7 AMCL02$CDS_Array_to_Local_Matrix Subroutine E.4.8 AMCL02$Local_Matrix_to_CDS_Array Subroutine E.4.9 AMCL02$Create_Work_Area Subroutine E.4.10 AMCL02$Reserve_Work_Area Subroutine E.4.11 AMCL02$Release_Work_Area Subroutine E.4.12 AMCL02$Init_Matrix_Work_Area Subroutine E.4.13 AMCL02$Init_Matrix_Work_Area2 Subroutine E.4.14 AMCL02$Get_Work_Area_Info Subroutine E.4.15 AMCL02$Get_Matrix_Work_Area_Info Subroutine E.4.16 AMCL02$Get_Matrix_Info Subroutine E.4.17 AMCL02$Create_Matrix Subroutine E.4.18 AMCL02$Put_Element Subroutine E.4.19 AMCL02$Get_Element Subroutine E.4.20 AMCL02$Add_Matrices Subroutine E.4.21 AMCL02$Subtract_Matrices Subroutine E.4.22 AMCL02$Multiply_Matrices Subroutine E.4.23 AMCL02$Multiply_Scalar Subroutine E.4.24 AMCL02$Transpose_Matrix Subroutine E.4.25 AMCL02$Matrix_Inversion Subroutine E.4.26 AMCL02$SVD Subroutine E.5 Matrix Functions Example E.6 Return Status Values CL/AM Reference iv 2/96 Table of Contents APPENDIX F CDS MOVE AND MULTIPLE MOVE PARAMETER EXTENSION F.1 Overview F.2 Memory Requirements, Packaging, and AM Configuration F.2.1 Memory Requirements F.2.2 Packaging F.2.3 Distributed Files F.2.4 Installation F.2.5 Application Module Configuration F.3 CDS_Move F.3.1 Overview F.3.2 CL Aborts F.3.3 Performance F.3.4 CDS_Move Restrictions F.3.5 AMCL01$CDS_Move F.4 Multiple_Move_Parameter F.4.1 Introduction F.4.2 Overview F.4.3 Move Execution Order F.4.4 Database Consistency F.5.5 Dynamic Indirection F.4.6 List Permanence F.4.7 List Ownership F.4.8 List Access F.4.9 Redundancy F.4.10 Error Handling F.4.11 Parameter Access Request Limits and Restrictions F.4.12 Calling the Subroutines F.4.13 Multiple Move Subroutines F.4.14 Error Message Summary F.4.15 AMCL01$Allocate_List F.4.16 AMCL01$Get_List_Id F.4.17 AMCL01$Modify_Entry F.4.18 AMCL01$Modify_Complex_Entry F.4.19 AMCL01$Multiple_Move_Parameter F.4.20 AMCL01$Set_Permanent_List F.4.21 AMCL01$Deallocate_List F.4.22 AMCL01$Get_List_Mem_Stats F.4.23 AMCL01$Change_List_Mem_Size F.4.24 AMCL01$Set_List_Item_Active F.4.25 AMCL01$Get_Exec_Time_Stats CL/AM Reference v 2/96 Table of Contents APPENDIX G AM EXTENSION FOR FAST EXTERNAL CDS FETCH G.1 Overview G.2 AM Performance Impact G.3 AM Memory Impact G.4 Packaging G.5 Distributed Files G.6 Installation G.7 Application Module Configuration APPENDIX H AM EXTENSION FOR OFF-NODE ACCESS H.1 Overview H.2 Functionality of the Extension H.3 AM Performance Impact H.4 AM Memory Impact H.5 Packaging H.6 Distributed Files H.7 Installation H.8 Application Module Configuration APPENDIX I AM EXTENSION FOR OFF-NODE ACCESS I.1 Overview I.2 Installation I.3 Executing X-Side Applications I.4 Hibernating Applications I.5 AMCL06$Execute_Task_With_Wait I.6 AMCL06$Get_Queue_Info I.7 AMCL06$Get_Queue_Slot_Info I.8 AMCL06$Store_XAccess I.9 AMCL06$Initiate_Task I.10 AMCL06$Activate_Task I.11 AMCL06$Terminate_Task I.12 AMCL06$Get_Hiber_Task_Status I.13 Stopping X-Side Applications I.14 Using the kill_appls X-Side Tool I.15 The X-side display_appls Tool INDEX CL/AM Reference vi 2/96 Table of Contents 1 INTRODUCTION 1.1 Purpose/Background