Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
IMlpiConnection.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <IMlpiConnection.idl>
3 // -----------------------------------------------------------------------
4 // Copyright (c) 2012 Bosch Rexroth. All rights reserved.
5 // Redistribution and use in source and binary forms of this MLPI software
6 // (SW) provided to you, with or without modification, are permitted
7 // without prior approval provided that the following conditions are met:
8 //
9 // 1. Redistributions of source code of SW must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 //
12 // 2. Redistributions in binary form of SW must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in the
14 // documentation and/or other materials provided with the distribution.
15 //
16 // 3. User recognizes and acknowledges that it acquires no right,
17 // title or interest in or to any of the names or trademarks used in
18 // connection with the SW ("names") by virtue of this License and waives
19 // any right to or interest in the names. User recognizes and acknowledges
20 // that names of companies or names or products of companies displayed
21 // in the documentation of SW to indicate the interoperability of products
22 // with the SW are the names of their respective owners. The use of such
23 // names in the documentation of SW does not imply any sponsorship,
24 // approval, or endorsement by such companies of this product.
25 //
26 // 4. Modified code versions, i.e. any addition to or deletion from
27 // the substance or structure of the original code of the SW running
28 // the MLPI must be plainly marked as such and must not be misrepresented
29 // as being original SW.
30 //
31 // 5. The SW may only be used in connection with a Bosch Rexroth product.
32 //
33 // THIS INFORMATION IS PROVIDED BY BOSCH REXROTH CORPORATION "AS IS"
34 // AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING
35 // (BUT NOTLIMITED TO) ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
36 // FITNESS FOR ANY PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WHILE THE
37 // INFORMATION PROVIDED IS BELIEVED TO BE ACCURATE, IT MAY INCLUDE
38 // ERRORS OR INACCURACIES.
39 // SUBJECT TO COMPULSORY STATUTORY PROVISIONS OF THE GERMAN LAW AS
40 // THE APPLICABLE LAW FOR THIS LICENSE BOSCH REXROTH CORPORATION WILL
41 // NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM THE USE OF
42 // THE SOFTWARE DISTRIBUTED HEREUNDER, INCLUDING BUT NOT LIMITED TO
43 // DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, AND CONSEQUENTIAL DAMAGES.
44 // -----------------------------------------------------------------------
45 //
55 //
56 // -----------------------------------------------------------------------
57 
58 
59 
60 
68 [
69  object,
70  uuid(FD70E73B-D0A4-4D3A-A105-C9FCDB83FA34),
71  dual,
72  nonextensible,
73  helpstring("IMlpiConnection Interface"),
74  pointer_default(unique)
75 ]
76 interface IMlpiConnection : IDispatch{
77 
78 
81  typedef [v1_enum] enum Type
82  {
84 
85  TYPE_CHAR = 1,
86  TYPE_UCHAR = 2,
87  TYPE_SHORT = 3,
89  TYPE_LONG = 5,
90  TYPE_ULONG = 6,
91  TYPE_LLONG = 7,
93  TYPE_FLOAT = 9,
94  TYPE_DOUBLE = 10,
95 
106 
107  TYPE_BOOL8 = 21,
109 
114  }Type;
115 
129  typedef struct Version
130  {
131  LONG major;
132  LONG minor;
133  LONG bugfix;
134  LONG patch;
135  LONG build;
136  }Version;
137 
138 
150  typedef struct ConnectionInfo
151  {
152  DOUBLE minimum;
153  DOUBLE maximum;
154  DOUBLE average;
155  DOUBLE variance;
156  DOUBLE standardDeviation;
157  } ConnectionInfo;
158 
159 
222  [id(1), helpstring("Connect to a MlpiConnection")] HRESULT Connect([in] BSTR address);
223 
231  [id(2), helpstring("Disconnect from MlpiConnection")] HRESULT Disconnect(void);
232 
277  [propget, id(3), helpstring("property IsConnected")] HRESULT IsConnected([out, retval] VARIANT_BOOL* pConnected);
278 
313  [id(4), helpstring("method TestConnection")] HRESULT TestConnection([in] LONG payload, [in] LONG numMeasurements, [out, retval] struct ConnectionInfo *connectInfo);
314 
339  [id(5), helpstring("method Delay")] HRESULT Delay([in] LONG delayMilliseconds);
340 
370  [id(6), helpstring("method GetClientCoreVersion")] HRESULT GetClientCoreVersion([out, retval] struct Version *versionInfo);
371 
399  [id(7), helpstring("method GetServerCoreVersion")] HRESULT GetServerCoreVersion([out, retval] struct Version *versionInfo);
400 
404  [propget, id(8), helpstring("property System")] HRESULT System([out, retval] ISystem** pVal);
405 
409  [propget, id(9), helpstring("property Motion")] HRESULT Motion([out, retval] IMotion** pVal);
410 
414  [propget, id(10), helpstring("property Logic")] HRESULT Logic([out, retval] ILogic** pVal);
415 
419  [propget, id(11), helpstring("property Parameter")] HRESULT Parameter([out, retval] IParameter** pVal);
420 
424  [propget, id(12), helpstring("property Watchdog")] HRESULT Watchdog([out, retval] IWatchdog** pVal);
425 
429  [propget, id(13), helpstring("property Io")] HRESULT Io([out, retval] IIo** pVal);
430 
434  [propget, id(14), helpstring("property Trace")] HRESULT Trace([out, retval] ITrace** pVal);
435 
439  [propget, id(15), helpstring("property Container")] HRESULT Container([out, retval] IContainer** pVal);
440 
444  [propget, id(16), helpstring("property Robot")] HRESULT Robot([out, retval] IRobot** pVal);
445 };
446 
447 
448 
449 // -----------------------------------------------------------------------
450 // HISTORY
451 // -----------------------------------------------------------------------
452 // 01-Jan-2012
453 // - first release
454 //
455 
456 
IWatchdog Watchdog
Property to access the Watchdog methods of the MLPI device by providing access to the IWatchdog inter...
Definition of the IIo interface which gives access to input and output devices of the target...
Definition: IIo.idl:72
string with 2 bytes per character
1 byte signed integer array
IParameter Parameter
Property to access the Parameter methods of the MLPI device by providing access to the IParameter int...
4 byte floating point
Definition of the IContainer interface which can be used to establish a fast data exchange of grouped...
Definition: IContainer.idl:75
invalid or not supported type
ILogic Logic
Property to access the Logic methods of the MLPI device by providing access to the ILogic interface...
Definition of the ILogic interface which allows access to the PLC and logic component on the MLPI dev...
Definition: ILogic.idl:73
4 byte floating point
1 byte unsigned integer
IContainer Container
Property to access the Container methods of the MLPI device by providing access to the IContainer int...
Definition of the IWatchdog interface.
Definition: IWatchdog.idl:126
HRESULT TestConnection([in] LONG payload, [in] LONG numMeasurements, [out, retval] struct ConnectionInfo *connectInfo)
This function performs a benchmark on the MLPI communication mechanism. Use it to measure the duratio...
HRESULT GetClientCoreVersion([out, retval] struct Version *versionInfo)
This function returns the version info of the MLPI client library. No connection to the server is nee...
Definition of the IRobot interface which gives access to the robot control functionality of the MLPI ...
Definition: IRobot.idl:70
2 byte signed integer
struct IMlpiConnection::Version Version
Describes the API version information. The build number counts continuously within a major release...
8 byte unsigned integer array
Type
This enumeration defines the basic types of as used by the MLPI.
4 byte signed integer
Definition of the IParameter interface used to access the parameter system of the MLPI Device...
Definition: IParameter.idl:71
2 byte unsigned integer array
string with 1 byte per character
struct IMlpiConnection::ConnectionInfo ConnectionInfo
This structure is used by the function TestConnection to return the results of the timing measurement...
HRESULT Disconnect(void)
This function disconnects the user application from the MlpiConnection. After closing the MLPI connec...
VARIANT_BOOL IsConnected
This function returns the current state of the MLPI connection. If FALSE is returned, then the connection is either not yet established or closed due to a communication error or because Disconnect has been called. In all cases, a reconnect using Connect has to be made to make new MLPI method calls. If connection has been lost for an unknown reason, try increasing the connection timeout using Connect.
1 byte signed integer
Definition of the IMlpiConnection interface which is the root object of a connection to a MLPI Device...
8 byte unsigned integer
ISystem System
Property to access the System methods of the MLPI device by providing access to the ISystem interface...
4 byte signed integer array
HRESULT GetServerCoreVersion([out, retval] struct Version *versionInfo)
This function returns the version info of the MLPI server library.
IMotion Motion
Property to access the Motion methods of the MLPI device by providing access to the IMotion interface...
4 byte unsigned integer
string array with 1 byte per character
4 byte floating point array
HRESULT Connect([in] BSTR address)
This function connects the user application with a MLPI Device. The first argument is used to specify...
IIo Io
Property to access the Input/Output methods of the MLPI device by providing access to the IIo interfa...
4 byte floating point array
ITrace Trace
Property to access the Trace methods of the MLPI device by providing access to the ITrace interface...
4 byte unsigned integer array
2 byte signed integer array
1 byte unsigned integer array
HRESULT Delay([in] LONG delayMilliseconds)
This function does a simple delay on the server side. All this function performs is a blocking delay ...
string array with 2 bytes per character
Definition of the IMotion interface used to access the motion functionality of the MLPI Device...
Definition: IMotion.idl:72
8 byte signed integer array
IRobot Robot
Property to access the Robot methods of the MLPI device by providing access to the IRobot interface...
8 byte signed integer
Definition of the ISystem interface which contains various system settings of the connected MLPI Devi...
Definition: ISystem.idl:72
Definition of the ITrace interface which gives access to internal tracing facility of the device...
Definition: ITrace.idl:76
2 byte unsigned integer