Open Core Interface - MLPI
MLPI-MotionLogicProgrammingInterface(mlpi4COM)  1.26.2
IApplication.idl
Go to the documentation of this file.
1 // -----------------------------------------------------------------------
2 // MLPI - <IApplication.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 
61 [
62  object,
63  uuid(FC3B4308-27EC-4497-B5C5-FEE4918A8A08),
64  dual,
65  nonextensible,
66  helpstring("IApplication Interface"),
67  pointer_default(unique)
68 ]
69 interface IApplication : IDispatch{
70 
78  [propget, id(1), helpstring("Property NameOfApplication")] HRESULT NameOfApplication([out, retval] BSTR* application);
79 
80 
104  [id(2), helpstring("Method StartApplication")] HRESULT StartApplication(void);
105 
106 
130  [id(3), helpstring("Method StopApplication")] HRESULT StopApplication(void);
131 
132 
164  [id(4), helpstring("Method ResetApplication")] HRESULT ResetApplication([in] ApplicationResetMode mode);
165 
166 
189  [id(5), helpstring("Method GetStateOfApplication")] HRESULT GetStateOfApplication([out, retval] ApplicationState *state);
190 
191 
214  [id(6), helpstring("Method GetOperationStateOfApplicatoin")] HRESULT GetOperationStateOfApplication([out, retval] struct ApplicationOpState *state);
215 
216 
217 #if defined(WIN32) || defined(WIN64)
218  [id(7), helpstring("Method GetTaskInfoOfApplication")] HRESULT GetTaskInfoOfApplication([out, retval] SAFEARRAY (struct ApplicationTaskInfo) *taskInfo);
254 
255 
282  [id(8), helpstring("Method GetInfoOfApplication")] HRESULT GetInfoOfApplication([out, retval] struct ApplicationInfo *info);
283 #endif
284 
285 
321  [id(9), helpstring("Method SaveRetainOfApplication")] HRESULT SaveRetainOfApplication([in] BSTR path);
322 
323 
335  [id(10), helpstring("Method RestoreRetainOfApplication")] HRESULT RestoreRetainOfApplication([in] BSTR path);
336 
337 
404  [id(11), helpstring("Method GetSymbolsOfApplication")] HRESULT GetSymbolsOfApplication([out, retval] SAFEARRAY(BSTR) *symbols);
405 
406 
440  [id(12), helpstring("Method WriteMemoryArea")] HRESULT WriteMemoryAreaAsByteArray([in] ApplicationMemoryArea area, [in] LONG byteOffset, [in] LONG byteLength, [in] SAFEARRAY(BYTE) data);
441 
442 
469  [id(13), helpstring("Method ReadMemoryArea")] HRESULT ReadMemoryAreaAsByteArray([in] ApplicationMemoryArea area, [in] LONG byteOffset, [in] LONG byteLength, [out, retval] SAFEARRAY(BYTE) *data);
470 
471 
495  //[id(14), helpstring("Method RunSingleCycleApplication")] HRESULT RunSingleCycleApplication(void);
496 
497 
498 };
499 
500 // -----------------------------------------------------------------------
501 // HISTORY
502 // -----------------------------------------------------------------------
503 // 01-Jan-2012
504 // - first release
505 //
506 
507 
508 
HRESULT GetTaskInfoOfApplication([out, retval] SAFEARRAY(struct ApplicationTaskInfo)*taskInfo)
This function returns information about all IEC tasks running on an application using struct ILogic::...
HRESULT WriteMemoryAreaAsByteArray([in] ApplicationMemoryArea area, [in] LONG byteOffset, [in] LONG byteLength, [in] SAFEARRAY(BYTE) data)
This function writes a byte array to the PLC memory area of the application.
HRESULT GetStateOfApplication([out, retval] ApplicationState *state)
This function will restore the state of an application using enum ILogic::ApplicationState.
Definition of the IApplication interface used to access settings of a single PLC application.
HRESULT StopApplication(void)
This function stops the given application on the target.
HRESULT ReadMemoryAreaAsByteArray([in] ApplicationMemoryArea area, [in] LONG byteOffset, [in] LONG byteLength, [out, retval] SAFEARRAY(BYTE)*data)
This function reads a byte array from the PLC memory area of the application.
HRESULT GetInfoOfApplication([out, retval] struct ApplicationInfo *info)
This function returns miscellaneous information about the given application using struct ILogic::Appl...
HRESULT GetSymbolsOfApplication([out, retval] SAFEARRAY(BSTR)*symbols)
This function reads all symbols in an application and returns a string array.
HRESULT StartApplication(void)
This function starts the given application on the target.
HRESULT ResetApplication([in] ApplicationResetMode mode)
This function resets the given application on the target.
HRESULT SaveRetainOfApplication([in] BSTR path)
This function saves the retain data of an application to default storage or a user-defined file...
BSTR NameOfApplication
This method returns the application name of this IApplication object.
HRESULT GetOperationStateOfApplication([out, retval] struct ApplicationOpState *state)
This function restores the extended operation state of an application using struct ApplicationOpState...
HRESULT RestoreRetainOfApplication([in] BSTR path)
This function restores the retain data of an application from a user-defined file.