![]() |
Software Tools for Measurement Inspection |
||||
| DMIS Part 2 | ||||||||||||||||||||||||||||||||||
DMIS Part 2 is an advanced object-oriented communications protocol for passing inspection
commands and data between different software packages. This protocol builds on the
DMIS Part 1 syntactic specification, defining a standardized
way to use DMIS for communicating with inspection equipment in near real time.
Part 1 defines an input file format for the off-line transfer of a complete inspection sequence to a CMM or other inspection equipment for later execution, and defines an output file format for inspection results for processing following execution completion. Part 2, on the other hand, defines a protocol for the direct, on-line control of inspection equipment and the interactive retrieval of inspection results by a software program for immediate processing during inspection operations. As a standardized object oriented API, DMIS Part 2 enables plug-and-play for CMM applications, and provides a modular environment that supports the integration of separate software applications into a customized solution for user needs.
The IDL interface permits all dimensional inspection equipment data and status to be queried interactively, allowing features, tolerances, measurement points, status, and program state to be accessed while a program is being executed, as well as providing control over program execution. This, along with remote network access capabilities, provides support for real-time process control applications. Part 2 allows the manipulation of inspection objects to be interleaved with the direct execution of DMIS text statements. As objects are created and manipulated using the IDL object interface, the corresponding DMIS statements may be automatically generated and inserted into the program at the current point of execution. Conversely, DMIS statement execution causes appropriate objects to be allocated. In either case, both the objects and the statements are immediately available to all Part 2 compliant applications for query and manipulation. DMIS Part 2 compliant applications can find the desired dimensional inspection equipment using a naming service. Once the application connects to a Part 2 server as a client, it can obtain complete information on the status of the machine, a list of all available program symbols (features with data points, tolerances with result data, sensors, etc), or a reference to an individual symbol object. Each of these objects has operations (called methods) which may be invoked to cause the inspection equipment to perform some task or operation. In response, DMIS Part 2 issues asynchronous events to notify all registered event consumers (Part 2 clients) using asynchronous event notification. This allows each client application to immediately update displayed or stored information, and to optionally respond with further commands. The inspection equipment object interface has methods for initiating machine motion, probe articulation or control, and sample operations; and for retrieving sample data, current position, machine status, and error conditions. For the most part, these reflect a fairly high level of information, containing the normalized content of the applicable DMIS Part 1 command. However, the equipment control module handles the details of machine control, such as servo control, probe interfacing and rotary table support, software error compensation, closed loop data sampling (for touch probing or single point video detection), and open loop data sampling (for high speed analog or laser scanning, or multi-point video edge detection). Result calculation and tolerancing may optionally be separated from the language core. The object interface defines the data structures and mathematical operations that may be supported by a mathematics subsystem.
In a combustion engine, some objects might be pistons, valves, camshafts, and spark
plugs. In DMIS Part 2, the objects include carriages, sensors, features, tolerances, and
coordinate systems.
Features, for instance, can be further refined into arcs, cones, cylinders, and other geometric types. These share common operations with similar, yet distinct, behaviors: such as applying and outputting tolerances. This is known as polymorphism. In a nutshell, since software objects often map to real world entities, they make a software system easier for software developers to understand and to use. Objects also make the software more flexible, more adaptable to change, and easier to customize.
Part 2 takes these syntactic textual entities, and maps them to object definitions which form an Application Programming Interface (API) for connecting separate software programs. There is, in most cases, a direct, one-to-one mapping between the program entities of Part 1 and the object interfaces of Part 2. For instance, there is a Carriage object in Part 2 which corresponds to the carriage entity defined by the Part 1 CRGDEF statement. Similarly, there is a Feature object in Part 2 which corresponds to the feature entity defined by the Part 1 FEAT statement. Part 1 also defines various commands which map to operations on the DME or workpiece. For instance, commands are provided for machine motion (GOTO, GOTARG), and feature measurement (MEAS, PTMEAS, RMEAS). Part 1 commands map, not to objects, but rather to methods on the appropriate Part 2 object. For instance, a GOTO command applies only to the carriage for which it is executed; so the Part 2 Carriage object has a goto() method. Similarly, a Part 2 RotaryTable object has a rotate() method corresponding to the Part 1 ROTAB command. Most Part 1 statements also require parameters to fully define the entity or operation. These parameters may be obtained from the Part 2 objects using accessor methods.
1. Scope 2. Conformance 3. Normative References 4. Terms and Definitions 5. System Reference 6. Interface Reference Appendices A. CORBA IDL B. COM IDL C. Part 1 CharacterizationThe two most important and extensive sections are Section 5 - System Reference, and Section 6 Interface Reference. Annex A - CORBA IDL contains the entire API using the CORBA IDL. Annex B - COM IDL defines the COM mapping for the API. Annex C contains the characterization definition identifying the supported DMIS Part 1 constructs.
It contains the following:
5. System Reference
5.1 Data Representation
5.2 Parameters
5.3 Configuration
5.4 DMIS Implementation
5.4.1 Initialization, Shutdown, and Initial References
5.4.2 Initial and Reset States
5.4.3 DMIS Statement Generation
5.4.4 Multi-carriage Operation
5.4.5 Events and Exceptions
5.4.6 Object Lifetime
5.4.7 Locks
5.5 DMIS Equipment Modules
5.5.1 Initialization, Shutdown, and Initial References
5.5.2 Initial and Reset States
5.5.3 Object Lifetime
5.5.4 Multi-carriage Operation
5.5.5 Exceptions
5.6 DMIS Mathematics Modules
5.6.1 Initialization, Shutdown, and Initial References
5.6.2 Initial and Reset States
5.6.3 Object Lifetime
5.6.4 Multi-carriage Operation
5.6.5 Exceptions
5.7 DMIS Applications
5.4.1 Initialization and Shutdown
5.7.2 Events Handling
5.7.3 Locks
5.8 Sensor Calibration
5.9 Probe Compensation
It contains the following: 6. Interface Reference 6.1. Global types 6.1.1. Type Definitions 6.1.2. Structures 6.2. module Dmis 6.2.1. Type Definitions 6.2.2. Enumerations 6.2.3. Structures and Unions 6.2.4. Interfaces 6.2.5. Exceptions 6.2.6. Output and Notification Events 6.2.6.1. Fundamental Event Interfaces 6.2.6.2. Error Event Interfaces 6.2.6.3. Program Event Interfaces 6.2.6.4. System Event Interfaces 6.2.6.5. Output Event Interfaces 6.3. module DmisEquip 6.3.1. Type Definitions 6.3.2. Enumerations 6.3.3. Structures and Unions 6.3.4. Interfaces 6.4. module DmisMath 6.4.1. Type Definitions 6.4.2. Enumerations 6.4.3. Structures and Unions 6.4.4. Interfaces
A. Annex A – CORBA IDL A.1. Configuration A.2. Initialization A.2.1. DMIS Implementation A.2.2. DMIS Equipment Modules A.2.3. DMIS Mathematics Modules A.2.4. DMIS Applications A.3. Shutdown A.3.1. DMIS Implementation A.3.2. DMIS Equipment Modules A.3.3. DMIS Mathematics Modules A.3.4. DMIS Applications A.4. Initial References A.4.1. DMIS Implementation A.4.2. DMIS Equipment Modules A.4.3. DMIS Mathematics Modules A.5. IDL Definition B. Annex B – COM IDL C. Annex C – Part 1 Characterization Level
Browse DMIS FAQs.
|
||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||