CONTENTS Title Page Copyright Page Preface 1 DEComni Manufacturing Message Specification 1.1 Manufacturing Message Specification Standard 1.1.1 MMS Objects 1.1.2 MMS Services 1.1.3 MMS Service Provider 1.1.4 MMS Clients and Servers 1.1.5 MMS Companion Standards 1.2 DEComni Manufacturing Message Specification Model 1.2.1 OmniView 1.2.2 Omni Directory Services 1.2.3 Omni Definition Facility on OpenVMS Systems 1.2.4 Application Program Interface 2 DEComni Application Program Interface 2.1 Object Definitions 2.2 Callable Procedures 2.3 User Include Files 2.4 OpenVMS Linking with DEComni Procedures 2.5 Synchronous and Asynchronous Completion Notification 2.6 DEC OSF/1 Linking with DEComni Applications 2.7 DEC OSF/1 Blocking and Nonblocking Completion Notification 2.8 Input/Output Status Block 2.9 OpenVMS Control Structure for Asynchronous Completion 2.10 Receiving Unsolicited Manufacturing Message Specification Indications 2.11 Obtaining Remote Object Attributes 2.12 Invoke Identifier Handling 2.13 OpenVMS Quotas and Privileges 2.14 DEComni and Manufacturing Message Specification Companion Standards 3 Programming for the DEComni System 3.1 Defining Language-Specific Parameters in FORTRAN 3.2 Initializing DEComni 3.3 OpenVMS Loading VMD Object Definitions and Obtaining a VMD Handle 3.4 Creating Definitions at Run Time 3.4.1 Run-Time Routines 3.4.2 Supported Definition Classes 3.4.3 Variable Type Descriptions 3.4.3.1 Alternate Access 3.4.3.2 Named Types and Type Specifications 3.4.3.3 Creating Simple and Complex Variable Definitions 3.4.3.3.1 Variable_Int32: Explicit Type 3.4.3.3.2 Variable_Int32: Named Type 3.4.3.3.3 Struct_ABC: Explicit and Named Type 3.4.3.3.4 Struct_ABC: Alternate Access 3.4.3.3.5 Array_Int: Explicit 3.4.3.3.6 Array_Int: Alternate Access 3.4.3.4 Reading and Writing Complex Variables with Full and Partial Access 3.5 Obtaining Handles for Object Definitions 3.5.1 Obtaining a Handle by Name 3.5.2 Obtaining a List of Handles 3.6 Environment and General Management Services 3.6.1 Initiating an Association 3.6.2 Concluding an Association 3.6.3 Aborting an Association 3.6.4 Receiving an Association Request 3.6.5 Responding to an Association Request 3.6.6 Receiving a Conclude Request 3.6.7 Responding to a Presentation Conclude Indication 3.6.8 Receiving an ACSE Conclude Indication 3.7 Virtual Manufacturing Device Support Services 3.7.1 Obtaining VMD Status 3.7.2 Receiving Unsolicited Status 3.7.3 Obtaining a List of Objects 3.7.4 Requesting VMD Identification 3.7.5 Obtaining a List of VMD Capabilities and Abstract Syntaxes 3.8 Domain Services 3.8.1 Downloading a Domain 3.8.2 Uploading a Domain 3.8.3 Deleting a Domain 3.8.4 Obtaining the Attributes of a Domain 3.8.5 Receiving Download and Upload Client Requests 3.9 Program Invocation Services 3.9.1 Creating a Program Invocation 3.9.2 Deleting a Program Invocation 3.9.3 Starting a Program Invocation 3.9.4 Stopping a Program Invocation 3.9.5 Resuming a Program Invocation 3.9.6 Resetting a Program Invocation 3.9.7 Killing a Program Invocation 3.9.8 Getting Program Invocation Attributes 3.10 Variable Access Services 3.10.1 Operating on Unnamed Variable Objects 3.10.2 Operating on Named Variable Objects 3.10.3 Receiving Client Requests for Variable Access Services 3.10.3.1 Receiving and Fulfilling a Read Request 3.10.3.2 Receiving and Fulfilling a Write Request 3.10.3.3 Receiving an Information Report Indication 3.11 Remote File Management Services 3.12 Example Application Code 4 Procedure Calls omni_abort omni_accept omni_accept_conclude omni_accept_connect omni_cancel omni_conclude omni_connect omni_create omni_define omni_delete omni_download omni_end_list omni_exchange_data omni_fdelete omni_fdir omni_fget omni_fput omni_frename omni_get_attribute omni_get_definition omni_get_fd omni_get_handle_by_name omni_get_handle_list omni_get_indications omni_get_message_text omni_get_remote_attributes omni_get_value omni_group_variables omni_initialize omni_kill omni_listen omni_load_definitions omni_load_domain omni_modify_definition omni_omni_to_VMS_time omni_poll omni_print_message omni_put_value omni_reject omni_reject_conclude omni_reject_connect omni_reset omni_resume omni_send_value omni_set_application_profile omni_start omni_stop omni_store_domain omni_terminate omni_upload A DEComni Message Codes B Manufacturing Machine Message Attributes and DEComni Constants B.1 Virtual Manufacturing Device Attribute Support B.2 DOMAIN Attribute Support B.3 PROGRAM INVOCATION Attribute Support B.4 VARIABLE Attribute Support C Supported Mappings Glossary of DEComni Terms